参考原文:
Javascript实现AES加密解密(ECB/CBC)_普通网友的博客-优快云博客_js aes加密
哈喽,大家好啊
最近要做一个功能,由于安全,实现安全加密
所以就和后端商量考虑好,做AES加密
就商量一个密钥进行加密解密
1.这里是AES的CBC加密解密
/**
* AES 的CBC编码解密data数据
*/
getDecodeDESpass() {
// 这里是密钥
var keyHex = CryptoJS.enc.Utf8.parse('hello');
// 这里是demo样本 一些是json,
var plaintText = "{'a':'SSS'}";
// 一些是string
var plaintText = 'aaa';
//用CBC进行加密
var encryptedData = CryptoJS.AES.encrypt(
JSON.stringify(plaintText),
plaintText,
keyHex, {
iv: CryptoJS.enc.Utf8.parse('0000000000000000‘),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
// 打印出加密后的
console.log(encryptedData.toString(),'加密后');
// 再进行一些加工加密
encryptedData = encryptedData.ciphertext.toString();
// 转出Hex的
var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData);
console.log('解密前hex:' + encryptedHexStr);
// 转成Base64
var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);
console.log('解密前Base64:'+ encryptedBase64Str);
// 接下来就是解密了,讲最后Base64形式的进行解密
var decryptedData = CryptoJS.AES.decrypt(
encryptedBase64Str,
keyHex, {
iv: CryptoJS.enc.Utf8.parse('0000000000000000'),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
console.log(JSON.parse(decryptedData.toString(CryptoJS.enc.Utf8)),'解密后')
}
}
AES的ECB加密解密
/**
* AES 的CBC编码解密data数据
*/
getDecodeDESpass() {
// 这里是密钥
var keyHex = CryptoJS.enc.Utf8.parse('hello');
// 这里是demo样本 一些是json,
var plaintText = "{'a':'SSS'}";
// 一些是string
var plaintText = 'aaa';
//用CBC进行加密
var encryptedData = CryptoJS.AES.encrypt(
JSON.stringify(plaintText),
plaintText,
keyHex, {
iv: CryptoJS.enc.Utf8.parse('0000000000000000‘),
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
// 打印出加密后的
console.log(encryptedData.toString(),'加密后');
// 再进行一些加工加密
encryptedData = encryptedData.ciphertext.toString();
// 转出Hex的
var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData);
console.log('解密前hex:' + encryptedHexStr);
// 转成Base64
var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);
console.log('解密前Base64:'+ encryptedBase64Str);
// 接下来就是解密了,讲最后Base64形式的进行解密
var decryptedData = CryptoJS.AES.decrypt(
encryptedBase64Str,
keyHex, {
iv: CryptoJS.enc.Utf8.parse('0000000000000000'),
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
console.log(JSON.parse(decryptedData.toString(CryptoJS.enc.Utf8)),'解密后')
}
}
原文文章:
Javascript实现AES加密解密(ECB/CBC)_普通网友的博客-优快云博客_js aes加密
这些我都进行验证并调试好啦,感谢原博主。
大家记得看了收藏点赞额,记录不容易。