AES加密解密JavaScript封装代码

AES 加密解密的 js 封装,用起来还挺顺手的,尤其适合前端做一些数据安全的场景。用的是crypto-js,API 设计得比较人性化,不管是加密还是解密,几行代码就能搞定,响应也快,逻辑也清晰。

crypto-js 的 AES 加密,适合加密像用户密码、Token 之类的敏感数据。你只需要准备个keyiv,用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();

服务端拿到keyiv就能还原明文。注意别传错格式,前后端统一好协议。有些场景后端不是 JS,比如用JavaPython,那就需要统一加密规则,像ECBCBC模式、填充方式等。

除了 AES,它还支持SHAHMACMD5这些,组合使用效果更佳。你可以按需选,用起来蛮灵活。

如果你在搞前后端安全、用户认证,或者不想暴露明文数据,这套封装真的还挺值得一试的。

zip 文件大小:31.33KB