前端加密解密库CryptoJS
前端代码之使用CryptoJS库做AES的加解密
前言
这篇文章将介绍,在前端如何使用CryptoJS库,用AES来做字符的加密和解密。简单粗暴,直接上步骤。
一、CryptoJS是什么?
CryptoJS是一个纯 javascript 写的加密算法类库,可以非常方便地在 javascript 进行 MD5、SHA1、SHA2、SHA3、RIPEMD-160 哈希散列,进行 AES、DES、Rabbit、RC4、Triple DES 加解密。
二、使用步骤
1.引入库
下载地址(我设置了永久有效):
链接:https://pan.baidu.com/s/1yNc41iKJKL704Zmc-n-hHA
提取码:hdn9
<script src="js/crypto-js/crypto-js.js"></script>
2.定义密钥、密钥偏移量
const aesKey = CryptoJS.enc.Utf8.parse("MIYAO"); // 自定义密钥
const aesIv = CryptoJS.enc.Utf8.parse("PIANYILIANG"); // 自定义密钥偏移量
3.加密方法
/**
* 加密
* @param word 将要加密的字符串
* @return
*/
function Encrypt(word) {
let srcs = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcs, aesKey, { iv: aesIv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
return encrypted.ciphertext.toString().toUpperCase();
}
4.解密方法
/**
* 解密
* @param word 将要解密的字符串
* @return
*/
function Decrypt(word) {
let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, aesKey, { iv: aesIv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
总结
本文仅仅简单介绍了CryptoJS中AES的加解密使用方法,当然,CryptoJS库还支持其他加解密,AES除了本文中提到的CBC模式外,也包含其他模式。