JavaScript前端实现AES对称加密
目录
【JavaScript】前端实现AES对称加密
关键词由CSDN通过智能技术生成
AES介绍
AES简介
AES是一种经典的对称加密/解密算法,使用加密函数和密钥来完成对明文的加密,然后使用相同的密钥和对应的函数来完成解密
AES的参数
1. key length(密钥位数,密码长度)
2. key (密钥,密码)// 密钥:一个常量,前后端协定后一个字符串即可
3. IV (向量)// 偏移量:一个常量,前后端协定后一个字符串,前后端一致即可
4. mode (加密模式)
5. padding (填充方式)
新建tools.js 引入加密,解密方法
import CryptoJS from "@/common/aes.js"; //tools.js的位置
let tools = {
//加密
encrypt(word) {
var key = CryptoJS.enc.Utf8.parse("abcdefg");
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
},
//解密
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("abcdefg");
var decrypt = CryptoJS.AES.decrypt(word, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
}
};
export default tools;
步骤二,页面引用
import tools from "@/common/tools.js"; //tools.js的位置
import CryptoJS from "@/common/aes.js";
//使用
onLoad(options) {
let jiami = tools.encrypt("我要被加密了");
console.log(jiami, "加密数据")
let jiemi = tools.decrypt("xxxxxxxx");
console.log(jiemi, "加密数据")
},