AES加密解密JavaScript封装代码
AES 加密解密的 js 封装,用起来还挺顺手的,尤其适合前端做一些数据安全的场景。用的是crypto-js
,API 设计得比较人性化,不管是加密还是解密,几行代码就能搞定,响应也快,逻辑也清晰。
crypto-js 的 AES 加密,适合加密像用户密码、Token 之类的敏感数据。你只需要准备个key
和iv
,用AES.encrypt()
就能得到加密后的字符串,后面要解密就反过来用AES.decrypt()
,简单粗暴。
项目里你可以npm install crypto-js
直接用,也可以下载crypto-js.js
文件引入,浏览器、Node.js 都通用,兼容性还不错。它默认支持 128 位密钥,加密完转字符串,传输存储都方便。
还有一点别忘了,密钥和 IV 别写死,最好随机生成,生产环境一定要加密保管好,不然安全白做。尤其是接口通信的时候,加密完传输,再解密,还挺适合 API 加壳用。
举个例子,如果你要把用户密码加密后发到后端,代码像这样:
var key = CryptoJS.lib.WordArray.random(16);
var iv = CryptoJS.lib.WordArray.random(16);
var ciphertext = CryptoJS.AES.encrypt('user-password', key, { iv: iv }).toString();
服务端拿到key
和iv
就能还原明文。注意别传错格式,前后端统一好协议。有些场景后端不是 JS,比如用Java
、Python
,那就需要统一加密规则,像ECB
或CBC
模式、填充方式等。
除了 AES,它还支持SHA
、HMAC
、MD5
这些,组合使用效果更佳。你可以按需选,用起来蛮灵活。
如果你在搞前后端安全、用户认证,或者不想暴露明文数据,这套封装真的还挺值得一试的。
31.33KB
文件大小:
评论区