Я пытаюсь понять, как я могу использовать openSSL для шифрования и дешифрования строки в bash и PHP и получать одинаковые результаты независимо от того, где я это делаю.
Мне нужно сохраните зашифрованную строку в MySQL и извлеките ее из MySQL для последующего чтения и расшифровки. Я счастлив, что могу читать и писать, например, MySQL
. В PHP я могу зашифровать и расшифровать, используя следующее:
$textToEncrypt = "Test Message";
$key = "Testkey";
$iv = "+ByrvYwA-4hB^?jF";
$keyHex = bin2hex($key);
$ivHex = bin2hex($iv);
//To encrypt
$encryptedMessage = openssl_encrypt($textToEncrypt, "AES-256-CBC", $key, 0, $iv);
//To Decrypt
$decryptedMessage = openssl_decrypt($encryptedMessage, "AES-256-CBC", $key, 0, $iv);
Это можно расшифровать в bash, используя:
echo -n "3GfrAdvtkHSpalmb4qzEVw==" | openssl aes-256-cbc -d -a -A -K "546573746b6579" -iv "2b427972765977412d3468425e3f6a46"
То, с чем я борюсь, - это шифрование сообщение в BASH, чтобы его можно было расшифровать обратно в PHP.
Может кто-нибудь посоветовать по этому поводу? Спасибо