crypto-js是一個前端Javascript標準加密算法庫,CryptoJS (crypto.js) 為 JavaScript 提供了各種各樣的加密算法。有時候項目涉及到的敏感數據比較多,為了信息安全,我們常常需要對一些數據進行接口加密處理,如編碼、將明文轉化為暗文、加密比對,目前已支持的算法包括:MD5、 SHA-1、SHA-256、AES、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等
https://github.com/brix/crypto-js
使用npm進行安裝
npm install crypto-js
支持nodejs和瀏覽器
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"));
var CryptoJS = require("crypto-js");// Encryptvar ciphertext = CryptoJS.AES.encrypt('my message', 'secret key 123').toString();// Decryptvar 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}]
有這樣一個齊全的加密算法庫,就很方便很多了,小夥伴們火速收藏吧!