erschlüsselung in JavaScript und Entschlüsselung mit P

Ich verschlüssele mein Benutzerpasswort in JavaScript wie folgt:

 var encryptedPassword = CryptoJS.AES.encrypt(password, "Secret Passphrase");

Es funktioniert gut, aber jetzt versuche ich, in PHP auf der Serverseite wie folgt zu entschlüsseln:

 $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND);
 $decryptPassword = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, "Secret Passphrase", base64_decode($password), MCRYPT_MODE_CBC, $iv);

es funktioniert überhaupt nicht, die entschlüsselte Passwortzeichenfolge sieht sehr seltsam aus:

 string(64) ">�OX2MS��댗v�<$�ʕ��i�̄��_��P���\�կ=�_6(�m����,4WT7��a"

Hier ist der aktuelle Stand meines Codes in JavaScript nach den hilfreichen Kommentaren:

    var encryptedPassword = CryptoJS.AES.encrypt(password, "Secret Passphrase");
    var ivHex = encryptedPassword.iv.toString();
    var ivSize = encryptedPassword.algorithm.ivSize; // same as blockSize
    var keySize = encryptedPassword.algorithm.keySize;
    var keyHex = encryptedPassword.key.toString();
    var saltHex = encryptedPassword.salt.toString(); // must be sent
    var openSslFormattedCipherTextString = encryptedPassword.toString(); // not used
    var cipherTextHex = encryptedPassword.ciphertext.toString(); // must be sent

Ich sende saltHex und CipherTextHex an den PHP-Server und verwende mcrypt_decrypt () wie folgt:

 $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), $saltHex);
 $decryptPassword = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, "Secret Passphrase", base64_decode($cipherTextHex), MCRYPT_MODE_CBC, $iv);

Mit diesem aktualisierten Code funktioniert es immer noch nicht.

Kann mir jemand helfen, mit der PHP-Funktion mcrypt_decrypt () eine einfache AES-Verschlüsselungsmethode richtig zu entschlüsseln? Ich bin sicher, dass ich mit der Verschlüsselung, dem mcrypt-Modus und den IV-Parametern in meiner mcrypt_decrypt () -Methode etwas falsch gemacht habe. Vielen Dank, wenn Sie wissen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage