2016-05-30 23 views
-1

ich folgende js Code bin mit StringCrypto js verschlüsselte Zeichenfolge entschlüsseln nicht in php

var text = 'should be decrypted!'; 
var key = 'HighlySecretKeyForJsEncryption!!'; 
var encrypted = CryptoJS.AES.encrypt(text, key); 
console.log(encrypted.toString()); 

Ausgang zu verschlüsseln: U2FsdGVkX19vf + s6/+ eB8A + 3iKFCl1A0e + oe0BSbcMVGxb64FL35Q3CB/LZNu4ng

und das, was ich tat in pHP diesen

function decrypt($toDecrypt) { 
    $key = "HighlySecretKeyForJsEncryption!!"; 
    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC); 
    $toDecrypt = base64_decode($toDecrypt); 
    return rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, substr($toDecrypt, $iv_size), MCRYPT_MODE_CBC, substr($toDecrypt, 0, $iv_size))); 
} 

zu entschlüsseln Aber das funktioniert nicht, es gibt mir Müll String.

+1

base64_decode ($ toDecrypt); Wo hast du Base64 codiert? – DannyThunder

+0

funktioniert nicht, wenn auch entfernen base64_decode – Pranav

+1

vielleicht interessant? http://stackoverflow.com/questions/27677236/encryption-in-javascript-and-decryption-with-php. –

Antwort

-1

Von docs:

var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase"); 
var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase"); 

CryptoJS unterstützt AES-128, AES-192 und AES-256. Es wird die Variante nach der Größe des Schlüssels auswählen, den Sie übergeben. Wenn Sie eine Passphrase verwenden, dann wird es einen 256-Bit-Schlüssel generieren.

Sie benötigen probabily die Konstante MCRYPT_RIJNDAEL_256 passieren, wenn PHP-Seite

Mehr über AES-Verschlüsselung/decrytption in PHP zu entschlüsseln: https://stackoverflow.com/a/3422787/4499267

+0

Mit MCRYPT_RIJNDAEL_256 kein Glück! – Pranav

+0

CryptoJS unterstützt nur AES, aber 'RIJNDAEL_256' ist nicht mehr AES. Nur 'RIJNDAEL_128' ist mit AES kompatibel. –

+0

Bitte beachten Sie, dass die [Wiki-Seite] (https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) besagt, dass der Advanced Encryption Standard (AES) auch als Rijndael bekannt ist – Phate01