crypto javascript encryption encoding cryptography cryptojs

javascript - cryptojs angular 4



crypto-js aes no pueden descifrar lo que encripta (1)

El tipo de retorno de todas las CryptoJS.<blockcipher>.decrypt() de CryptoJS.<blockcipher>.decrypt() es un WordArray que es la representación nativa de datos binarios en CryptoJS. Cuando fuerce la impresión (llamando automáticamente a toString() ), los datos binarios que contiene serán codificados en hexadecimal.

Si desea tener una codificación diferente, debe especificarla. Aquí hay unos ejemplos:

console.log(decrypted.toString()); // Hex encoded console.log(decrypted.toString(CryptoJS.enc.Hex)); // Hex encoded console.log(CryptoJS.enc.Hex.stringify(decrypted)); // Hex encoded console.log(decrypted.toString(CryptoJS.enc.Utf8)); // UTF-8 encoded console.log(CryptoJS.enc.Utf8.stringify(decrypted)); // UTF-8 encoded console.log(decrypted.toString(CryptoJS.enc.Base64)); // Base64 encoded console.log(CryptoJS.enc.Base64.stringify(decrypted)); // Base64 encoded

Hola, estoy intentando descifrar una cadena aes encriptada con crypto-js, pero parece que no funciona bien.

Estoy usando:

<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script> <script> var encrypted = CryptoJS.AES.encrypt("Message", "Secret Passphrase"); var decrypted = CryptoJS.AES.decrypt(encrypted, "Secret Passphrase"); </script>

Pero mis resultados son:

encrypted: U2FsdGVkX19whKq54yOQt3l1erbtEtn/M0qJjAH+E/E= decrypted: 4d657373616765

Mi expectativa era que devuelve "Mensaje". ¿Qué me estoy perdiendo?