(代码示例)使用crypto-js实现AES加密解密

bash 复制代码
npm install crypto-js
# 官方文档 <https://www.npmjs.com/package/crypto-js>

适用于需要检验的场景

  • 比如敏感的前端query参数
  • Cookie中的某个字段
  • 数据库中的敏感字段
js 复制代码
// ====================做成文件====================
const CryptoJS = require("crypto-js");
// 秘钥  
const aesKey = "59abbe5e10adf20f883ec3949ba6e057";  
// 将秘钥转换成Utf8字节数组  
const key = CryptoJS.enc.Utf8.parse(aesKey);  
// 加密参数  
const option = {  
    iv: CryptoJS.enc.Utf8.parse(aesKey.substr(0, 16)),  
    mode: CryptoJS.mode.CBC,  
    padding: CryptoJS.pad.Pkcs7,  
}; 

/** data 是要 加密的数据 */
export function enCode(data) {
    const encrypt = CryptoJS.AES.encrypt(JSON.stringify(data), key, option);  
    return encrypt.toString();  // 加密之后的字符串 A。一旦A修改了,那么解密就会失败。
}
/** codeStr 是要 解密的字符串 A */
export function deCode(codeStr) {
    const decrypt = CryptoJS.AES.decrypt(codeStr, key, option);  
    return JSON.parse(decrypt.toString(CryptoJS.enc.Utf8)); //解密后的数据  
}

// ================================================
// 测试数据
const data = {  
    name: "张三",  
    sex: '男',  
    height: 180
}; 
相关推荐
星环科技4 分钟前
数据标准Agent ,让企业数据说同一种语言
java·开发语言·前端
橘子星9 分钟前
深入理解 AJAX 中的 JSON 序列化与 JS 异步处理
前端·javascript·后端
旧曲重听114 分钟前
2026前端技术从「夯」到「拉」
前端·程序人生·职场和发展·软件工程
Kapaseker14 分钟前
我找到了最适合程序员的 PPT 工具 — Slidev
前端
雾削木31 分钟前
B语言经典教程现代化重构
java·前端·stm32·单片机·嵌入式硬件
Cobyte33 分钟前
20.Vue Vapor 的应用初始化
前端·javascript·vue.js
乘风gg37 分钟前
手把手带你实践历时一年总结的 AI Code Review 最佳工作流!
前端·ai编程·cursor
禅思院37 分钟前
POST请求发两次?一次讲透CORS预检机制,面试不再翻车
前端·架构·前端框架
IT_陈寒39 分钟前
SpringBoot自动配置这么智能,为啥我写的Bean注入不了?
前端·人工智能·后端
LT101579744442 分钟前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化