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
6
var 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
9
var ciphertext = CryptoJS.AES.encrypt(
'plain text', // 需要加密的明文
'secret key', // 加密密钥
{
mode: CBC, // AES工作模式, 默认 CBC
padding: Pkcs7, // 填充方式, 默认 Pkcs7
iv: null // AES 向量
}
);

CryptoJS AES BASE64 MD5 SHA