2016-07-05 109 views
2

我生成excel文件,擴展名爲.xls,使用PHPExcel庫。 excel文件正在生成。我正在使用密碼保護作爲文檔,並且只能編輯一些字段。我正在做一個Export Import機制。它現在完全正常工作,我需要添加一些修改。如何驗證PHPExcel生成的「.xls」文件中的密碼?

我的問題是

是否可以驗證我給保護文檔的密碼?所以,我可以在進口

例如

的時間檢查,如果我保護使用

$sheet -> getProtection() -> setPassword('MyPassword'); 

是否有檢查密碼像下面的任何功能的文件?

$newsheet -> getProtection() -> verifyPassword('MyPassword'); 

任何幫助,不勝感激。

+0

我沒有很好地PHPExcel精通,但你能不能嘗試再次分別加載在PHPExcel,並試圖與密碼修改? – SArnab

+0

@SArnab,感謝您的考慮。但我不想編輯它。我只需要驗證密碼。 – Arun

+0

「驗證」是什麼意思?你的問題讀取,如果你只是想檢查'setPassword'方法實際工作?如果是這樣 - 爲什麼?你有什麼理由懷疑它嗎? – CBroe

回答

5

您應該能夠使用

$hash = $sheet->getProtection()->getPassword(); // returns a hash 
$valid = ($hash === PHPExcel_Shared_PasswordHasher::hashPassword($password)); 

if($valid) { 
    // 
} 
+0

謝謝。讓我檢查一下。 – Arun

+0

非常感謝。這是工作 – Arun