2011-09-19 83 views
1

我想知道如何通過在命令行中傳遞密碼/密鑰來解密文件。如何通過在使用PHP的命令中傳遞「gpg密碼」來解密加密文件?

我試過使用這個,但它仍然給我提示輸入密碼。回聲shell_exec(「echo $ passphrase | gpg --passphrase-fd 0 -o $ unencrypted_file -d $ encrypted_file」);回到頂端這篇文章中的信息適用於:

我的目標是在PHP中創建一個可以自動解密文件的程序。

回答

0
gpg --passphrase-file $file 

人GPG說:「從文件中讀取文件的密碼只有第一行會從文件文件中讀取如果只有一個密碼提供這隻能使用很明顯。 ,如果其他用戶可以讀取此文件,則存儲在文件中的密碼短語的安全性可疑,如果可以避免,請不要使用此選項。

+0

一個稍微安全的變化就是將gpg-agent的緩存時間設置爲荒謬的(如一個月或更長的時間,它需要設置秒數),然後每月輸入密碼(或者週期)加上每次重新啓動後。至少,gpg-agent和pinentry會像通常那樣保護密碼(儘管受到危害的無人看管系統容易受到RAM攻擊以獲取密碼或解密的密鑰數據)。 – Ben

相關問題