js代码
// 加密
function encrypt(word, keyStr) {
keyStr = keyStr ? keyStr : '5aacb37ee291a858c3fbb83f0dfaeeea';
var key = CryptoJS.enc.Utf8.parse(keyStr);
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
iv: CryptoJS.enc.Utf8.parse("b54e272198cb4011"),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
return encrypted.toString()
}
// 解密
function decrypt(word, keyStr) {
keyStr = keyStr ? keyStr : '5aacb37ee291a858c3fbb83f0dfaeeea';
var key = CryptoJS.enc.Utf8.parse(keyStr);
var decrypt = CryptoJS.AES.decrypt(word, key, {
iv: CryptoJS.enc.Utf8.parse("b54e272198cb4011"),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.ZeroPadding
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString()
}
let name = Base64.encode(encrypt('name'))
php代码
$aes = [
'key' => '5aacb37ee291a858c3fbb83f0dfaeeea',
'iv' => 'b54e272198cb4011',
'mode' => 'AES-256-CBC',
];
$login_name = trim(openssl_decrypt(base64_decode($para['name']), $aes['mode'], $aes['key'], OPENSSL_ZERO_PADDING, $aes['iv']));
# 使用trim去除解密后字符串中的乱码