CryptoJS 介绍
一个基于javscript编写的前端加解密js库。
官方文档
CryptoJS Document
以下部分文档摘自官方文档
Hash
MD5
> CryptoJS.MD5("admin").toString()
< "21232f297a57a5a743894a0e4a801fc3"
SHA1
> CryptoJS.SHA1("admin").toString()
< "d033e22ae348aeb5660fc2140aec35850c4da997"
SHA224/SHA256/SHA384/SHA512
> CryptoJS.SHA256("admin").toString()
< "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"
RIPEMD-160
> CryptoJS.RIPEMD160("admin").toString()
< "7dd12f3a9afa0282a575b8ef99dea2a0c1becb51"
输出格式
以上几个toString()方法可以选择传入CryptoJS.enc.Base64或其他的编码方式
> CryptoJS.MD5("admin").toString()
< "21232f297a57a5a743894a0e4a801fc3"
渐进式Hash
var sha256 = CryptoJS.algo.SHA256.create();
sha256.update("Message Part 1");
sha256.update("Message Part 2");
sha256.update("Message Part 3");
var hash = sha256.finalize();
HMAC
var hash = CryptoJS.HmacMD5("Message", "密语");
var hash = CryptoJS.HmacSHA1("Message", "密语");
var hash = CryptoJS.HmacSHA256("Message", "密语");
var hash = CryptoJS.HmacSHA512("Message", "密语");
Base64 编解码
Encode
> CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse("塞北的雪"))
< "5aGe5YyX55qE6Zuq"
Eecode
> CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse("5aGe5YyX55qE6Zuq"))
< "塞北的雪"
sample
// 输出
console.log(encode('塞北的雪')); // '5aGe5YyX55qE6Zuq'
console<