/**
* js端AES256加密
* @param sKey 随机数
* @param jsonStr 待加密json串
* @return 加密好的密文
*/
function getEnStr(sKey, jsonStr) {
var neiKey = [0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x1A, 0x2A, 0x2B,
0x2C, 0x2D, 0x2E, 0x2F, 0x3A, 0x3B, 0x11, 0x22, 0x33, 0x44, 0x55,
0x66, 0x77, 0x1A, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x3A, 0x3B];
var fkey = "";
var lx = "";
for (var i = 0; i < sKey.length; i++) {
lx = String.fromCharCode(sKey[i].charCodeAt(0) ^ neiKey[i]);
fkey += lx;
console.log(lx);
}
console.log(fkey);
var hexKey = CryptoJS.enc.Utf8.parse(fkey);
var enStr = CryptoJS.AES.encrypt(JSON.stringify(jsonStr), hexKey, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return enStr.toString();
}
1.下载测试文件,里面包含crypto的源码和aes256的加密代码,还有一个测试文件可直接运行后在控制台查看加密后的密文。
2.在你的项目中引入对应js文件即可实现aes256加密。
测试文件加密输出demo如下
getEnStr('1024', 'admin');
//以下为控制台输出的加密结果
F5NBpASL6Cu7bN6qsgAyrQ==