devmingle
Home
Categories
Popular Codes
Articles
/
PHP
/
Encrypt in PHP openssl and decrypt in javascript CryptoJS
Encrypt in PHP openssl and decrypt in javascript CryptoJS
Encrypt in PHP openssl and decrypt in javascript CryptoJS
function CryptoJSAesDecrypt(passphrase,encrypted_json_string){ var obj_json = JSON.parse(encrypted_json_string); var encrypted = obj_json.ciphertext; var salt = CryptoJS.enc.Hex.parse(obj_json.salt); var iv = CryptoJS.enc.Hex.parse(obj_json.iv); var key = CryptoJS.PBKDF2(passphrase, salt, { hasher: CryptoJS.algo.SHA512, keySize: 64/8, iterations: 999}); var decrypted = CryptoJS.AES.decrypt(encrypted, key, { iv: iv}); return decrypted.toString(CryptoJS.enc.Utf8); } console.log(CryptoJSAesDecrypt('your passphrase','<?php echo $string_json_fromPHP?>'));
0
Encrypt in PHP openssl and decrypt in javascript CryptoJS
function CryptoJSAesEncrypt($passphrase, $plain_text){ $salt = openssl_random_pseudo_bytes(256); $iv = openssl_random_pseudo_bytes(16); //on PHP7 can use random_bytes() istead openssl_random_pseudo_bytes() //or PHP5x see : https://github.com/paragonie/random_compat $iterations = 999; $key = hash_pbkdf2("sha512", $passphrase, $salt, $iterations, 64); $encrypted_data = openssl_encrypt($plain_text, 'aes-256-cbc', hex2bin($key), OPENSSL_RAW_DATA, $iv); $data = array("ciphertext" => base64_encode($encrypted_data), "iv" => bin2hex($iv), "salt" => bin2hex($salt)); return json_encode($data); } $string_json_fromPHP = CryptoJSAesEncrypt("your passphrase", "your plain text");
0
Encrypt in PHP openssl and decrypt in javascript CryptoJS
ñ