大家好,我是为宽广程序员兄弟操碎了心的小编,每天举荐一个小工具 / 源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节俭开发效率,实现不加班不熬夜不掉头发,是我的指标!
明天要举荐的是一款 javascript 加密库 crypto-js,crypto-js 是一个前端 Javascript 规范加密算法库,crypto-js 为 JavaScript 提供了各种各样的加密算法。有时候我的项目波及到的敏感数据比拟多,为了信息安全,咱们经常须要对一些数据进行接口加密解决,如编码、将明文转化为暗文、加密比对,目前已反对的算法包含:MD5、SHA-1、SHA-256、AES、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2 等。
在线测试:https://tool.oschina.net/encrypt
装置
应用 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}]
结尾
本期就分享到这里,我是小编南风吹,专一分享好玩乏味、离奇、实用的开源我的项目及开发者工具、学习资源!
心愿能与大家独特学习交换, 欢送关注我的公众号 【Github 导航站】。
往期举荐
太漂亮了!有了 3 款开源图标库,不必再去求设计师了
10 个相见恨晚的 vue.js 库!用好了,事倍功半!
太及时了!13 个 Spring Boot 练手我的项目, 用好了,升职涨薪不必愁
程序员接私活必备后盾框架,不必反复造轮子,网友:太好用了!
还在从头到尾撸我的项目?这 6 个 SpringBoot 我的项目用好了,事倍功半!
「00 后缩写黑话翻译器」登上 GitHub 热榜,中年网民终于能看懂年轻人的 awsl