CryptoJS 使用示例
字符串编解码
所有的编解码器,都有stringify(wordArray)
和parse(str)
两个方法。stringify
方法用于将WordArray
对象转换为相应编码的字符串,parse
方法用于解码目标字符串,返回一个WordArray
对象。
Base64
将一个字符串转换为Base64字符串时,必须先转换为WordArray
对象,再转换为Base64字符串。
1
2
3
4
5
6
7
8
9// Base64 基本使用
var plainTxt = "hello base64"; // 测试字符串
var plainTxtToWA = CryptoJS.enc.Utf8.parse(plainTxt); // 转换为 WordArray
var base64Str = CryptoJS.enc.Base64.stringify(base64TestStrToWordArray); // 转换为base64字符串
console.log(plainTxt);
console.log(plainTxtToWA);
console.log(base64Str);
摘要算法
MD5
1
2
3
4
5
6var plainTxt = "hello world";
var md5Res = CryptoJS.MD5(plainTxt); // MD5结果是一个 CryptoJS.lib.WordArray 对象
console.log(md5Res.toString()); // WordArray.toString() 默认转换为hex字符串
console.log(md5Res.toString(CryptoJS.enc.Hex)); // md5 结果转为hex字符串
console.log(md5Res.toString(CryptoJS.enc.Base64)); // md5 结果转为base64字符串
加解密
AES
1
2
3
4
5
6
7
8
9var ciphertext = CryptoJS.AES.encrypt(
'plain text', // 需要加密的明文
'secret key', // 加密密钥
{
mode: CBC, // AES工作模式, 默认 CBC
padding: Pkcs7, // 填充方式, 默认 Pkcs7
iv: null // AES 向量
}
);