Verwendung des Initialisierungsvektors in openssl_encrypt
Ich habe es mir angesehendiese Frage, und wollte es für mich tun. Als ich diesen Code ausgeführt habe (direkt ausdiese Antwort):
$textToEncrypt = "My super secret information.";
$encryptionMethod = "AES-256-CBC"; // AES is used by the U.S. gov't to encrypt top secret documents.
$secretHash = "25c6c7ff35b9979b151f2136cd13b0ff";
//To encrypt
$encryptedMessage = openssl_encrypt($textToEncrypt, $encryptionMethod, $secretHash, '1234567812345678');
//To Decrypt
$decryptedMessage = openssl_decrypt($encryptedMessage, $encryptionMethod, $secretHash);
//Result
echo "Encrypted: $encryptedMessage <br>Decrypted: $decryptedMessage";
Ich bekomme jedoch die Warnung
openssl_encrypt(): Using an empty Initialization Vector (iv) is potentially insecure and not recommended
Also habe ich mir das angeschautdocs, aber es gibt keine Dokumentation. ich habe das gefundenKommentar, aber immer noch nicht erwähnt, was der Initialisierungsvektor sein soll und wie ich ihn verwenden soll. Kann mich jemand aufklären?
Ich weiß, ich hätte etwas mehr googeln können, aber Stackoverflow taucht zuerst in so vielen Suchergebnissen auf, dass ich dachte, diese Frage könnte für alle anderen nützlich sein, die dieses Problem hatten.