import CryptoJS from "crypto-js" //秘钥(后端提供)由于对称解密使用的算法是 AES-128-CBC算法,数据采用 PKCS#7 填充 , 因此这里的 key 需要为16位! var key = CryptoJS.enc.Latin1.parse("xxxxxx"); // 偏移量(后端提供) var iv = CryptoJS.enc.Latin1.parse("xxxxxxx"); export default { //加密 encrypt(data) {
// data = data.replace(/[\r\n]/g, "");如果data有换行回导致报错,所以用回这个来进行换行清除
var srcs = CryptoJS.enc.Utf8.parse(data); var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); }, //解密 decrypt(encrypted) { var decrypted = CryptoJS.AES.decrypt(encrypted, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return decrypted.toString(CryptoJS.enc.Utf8); } }
注意:上述,加解密算法/工作模式/填充方式:AES/CBC/Pkcs7,
秘钥、偏移量、加解密算法、工作模式、填充方式,均要与后端一致
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY