介绍
crypto-js是一个前端Javascript标准加密算法库,CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。有时候项目涉及到的敏感数据比较多,为了信息安全,我们常常需要对一些数据进行接口加密处理,如编码、将明文转化为暗文、加密比对,目前已支持的算法包括:MD5、 SHA-1、SHA-256、AES、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等
Github
https://github.com/brix/crypto-js
安装
使用npm进行安装
npm install crypto-js
使用
支持nodejs和浏览器
- ES6
import sha256 from \'crypto-js/sha256\';
import hmacSHA512 from \'crypto-js/hmac-sha512\';
import Base64 from \'crypto-js/enc-base64\';
const message, nonce, path, privateKey; // ...
const hashDigest = sha256(nonce message);
const hmacDigest = Base64.stringify(hmacSHA512(path hashDigest, privateKey));
- 模块化
var AES = require("crypto-js/aes");
var SHA256 = require("crypto-js/sha256");
...console.log(SHA256("Message"));
- 直接引用
<script type="text/javascript" src="path-to/bower_components/crypto-js/crypto-js.js">script>
<script type="text/javascript">
var encrypted = CryptoJS.AES(...);
var encrypted = CryptoJS.SHA256(...);
script>
AES加密
- 明文加密
var CryptoJS = require("crypto-js");
// Encrypt
var ciphertext = CryptoJS.AES.encrypt(\'my message\', \'secret key 123\').toString();
// Decrypt
var bytes = CryptoJS.AES.decrypt(ciphertext, \'secret key 123\');
var originalText = bytes.toString(CryptoJS.enc.Utf8);console.log(originalText); // \'my message\'
- 对象加密
var CryptoJS = require("crypto-js");
var data = [{id: 1}, {id: 2}]
// 加密
var ciphertext = CryptoJS.AES.encrypt(JSON.stringify(data), \'secret key 123\').toString();
// 解密
var bytes = CryptoJS.AES.decrypt(ciphertext, \'secret key 123\');
var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));console.log(decryptedData); // [{id: 1}, {id: 2}]
模块集合
- crypto-js/core
- crypto-js/x64-core
- crypto-js/lib-typedarrays
- crypto-js/md5
- crypto-js/sha1
- crypto-js/sha256
- crypto-js/sha224
- crypto-js/sha512
- crypto-js/sha384
- crypto-js/sha3
- crypto-js/ripemd160
- crypto-js/hmac-md5
- crypto-js/hmac-sha1
- crypto-js/hmac-sha256
- crypto-js/hmac-sha224
- crypto-js/hmac-sha512
- crypto-js/hmac-sha384
- crypto-js/hmac-sha3
- crypto-js/hmac-ripemd160
- crypto-js/pbkdf2
- crypto-js/aes
- crypto-js/tripledes
- crypto-js/rc4
- crypto-js/rabbit
- crypto-js/rabbit-legacy
- crypto-js/evpkdf
- crypto-js/format-openssl
- crypto-js/format-hex
- crypto-js/enc-latin1
- crypto-js/enc-utf8
- crypto-js/enc-hex
- crypto-js/enc-utf16
- crypto-js/enc-base64
- crypto-js/mode-cfb
- crypto-js/mode-ctr
- crypto-js/mode-ctr-gladman
- crypto-js/mode-ofb
- crypto-js/mode-ecb
- crypto-js/pad-pkcs7
- crypto-js/pad-ansix923
- crypto-js/pad-iso10126
- crypto-js/pad-iso97971
- crypto-js/pad-zeropadding
- crypto-js/pad-nopadding
总结
有这样一个齐全的加密算法库,就很方便很多了,小伙伴们火速收藏吧!
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/procedure/10842.html