crypto-js是谷歌开发的一个纯JavaScript的加密算法类库,可以非常方便的在前端进行其所支持的加解密操作。目前crypto-js已支持的算法有:MD5、SHA-1、SHA-256、AES、RSA、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等。使用时可以引用总文件,也可以单独引用某一文件。我们可以采用 npm install crypto-js --save 进行下载安装,也可以直接去 GitHub下载源码~
js AES 加密 function aseEncrypt(word, autoKey) { const keyAes = CryptoJS.enc.Utf8.parse(autoKey); const ivAes = CryptoJS.enc.Utf8.parse(autoKey); let srcs = CryptoJS.enc.Utf8.parse(word); let encrypted = CryptoJS.AES.encrypt(srcs, keyAes, { iv: ivAes, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); return encrypted.ciphertext.toString(); } AES 解密 function aseDecrypt(word, autoKey) { const keyAes = CryptoJS.enc.Utf8.parse(autoKey); const ivAes = CryptoJS.enc.Utf8.parse(autoKey); let encryptedHexStr = CryptoJS.enc.Hex.parse(word); let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr); let decrypt = CryptoJS.AES.decrypt(srcs, keyAes, { iv: ivAes, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8); return decryptedStr.toString(); }