JS 加密,需要实现 PHP 同等加密?
var passwordMd5 = CryptoJS.MD5(password);
var passwordKey = CryptoJS.SHA256(CryptoJS.SHA256(passwordMd5 + data.v1) + data.v2);
var encryptedPassword = CryptoJS.AES.encrypt(passwordMd5, passwordKey, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.NoPadding});
encryptedPassword = CryptoJS.enc.Base64.parse(encryptedPassword.toString()).toString(CryptoJS.enc.Hex);
其中password v1 v2都是变量。 需要转换这个代码为php实现。
我分析了,依次md5 sha256 aes
代码如下:
$password = '123qwe123';
$passwordMd5 = MD5($password);
$passwordKey = hash("sha256",hash("sha256",$passwordMd5.$v1).$v2);
$passwordKey = pack('H*',$passwordKey);
$key = substr($key, 0, 32);
$encrypted_data = openssl_encrypt($message,'AES-256-ECB',$key,0);
$ciphertext = bin2hex($ciphertext);
结果不对。谁能给个demo。 和js产生的结果一致。
推荐文章: