我正在用PHP加密密碼,並且想要在另一個盒子上解密它。我沒有運氣,我寧願能夠從bash中解密它並回應它。以下是PHP中的測試代碼片段。如何使用BASH命令解密PHP Openssl加密
$textToEncrypt = "My super secret information.";
$encryptionMethod = "AES-256-CBC";
$secretHash = "Testkey";
//To encrypt
$encryptedMessage = openssl_encrypt($textToEncrypt, $encryptionMethod, $secretHash);
//To Decrypt
$decryptedMessage = openssl_decrypt($encryptedMessage, $encryptionMethod, $secretHash);
//Result
echo "Encrypted: $encryptedMessage <br>Decrypted: $decryptedMessage";
我試過很多方法在Ubuntu上解密它,甚至將數據存儲到文件並將其輸出到文件。命令嘗試是:
openssl aes-256-cbc -a -d -k Testkey -in foo.txt -out secrets.txt
哪裏foo.txt
從PHP加密返回的值,並secrets.txt
是輸出。我怎樣才能做到這一點?
不使用初始化向量(IV)是不是一個好主意;也許它不工作,因爲它很害怕。 –
如果我添加了,我的php將會是什麼樣子,我想它的格式是如何在PHP和bash之間進行的。 – Hydtek
'-k Testkey'將從密碼'Testkey'派生出一個密鑰,而在php'openssl_encrypt(...,...,'Testkey')'將直接使用'Testkey'作爲密鑰。是否真的有必要以這種方式使用openssl命令行工具(即a)在所有b)中直接使用,而不需要其他程序/腳本)? – VolkerK