Aes-256-cbc Mcrypt-php Decrypt And Crypto-js Encrypt
I am trying to encrypt in Javascript with CryptoJS and decrypt in PHP. The JS code is: var salt = CryptoJS.lib.WordArray.random(128/8); var key256Bits500Iterations = CryptoJS.PBKD
Solution 1:
Your code WILL work if you just fix a few typos there
JS
<scriptsrc="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script><scriptsrc="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/pbkdf2.js"></script><script>var salt = CryptoJS.lib.WordArray.random(128/8);
var key256Bits500Iterations = CryptoJS.PBKDF2("Secret Passphrase", salt, { keySize: 256/32, iterations: 500 });
var iv = CryptoJS.enc.Hex.parse('101112131415161718191a1b1c1d1e1f'); // just chosen for an example, usually random as wellvar encrypted = CryptoJS.AES.encrypt("Message", key256Bits500Iterations, { iv: iv });
var data_base64 = encrypted.ciphertext.toString(CryptoJS.enc.Base64);
var iv_base64 = encrypted.iv.toString(CryptoJS.enc.Base64);
var key_base64 = encrypted.key.toString(CryptoJS.enc.Base64);
</script>
PHP
<?php$encrypted = base64_decode("data_base64"); // data_base64 from JS$iv = base64_decode("iv_base64"); // iv_base64 from JS$key = base64_decode("key_base64"); // key_base64 from JS$plaintext = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_128, $key, $encrypted, MCRYPT_MODE_CBC, $iv ), "\t\0 " );
Post a Comment for "Aes-256-cbc Mcrypt-php Decrypt And Crypto-js Encrypt"