多种安全加密算法的前端Javascript标准js库crypto-js

crypto-js是一个为前端设计开发的Javascript标准加密算法库,CryptoJS (crypto.js) 为 JavaScript 提供了各种各样的加密算法。

有时候项目涉及到的敏 感数据比较多,为了信息安全,我们常常需要对一些数据进行接口加密处理,如编码、将明文转化为暗文、加密比对,目前已支持的算法包括:MD5、 SHA-1、SHA-256、AES、Rabbit、MARC4、HMAC、HMAC-MD5、HMAC-SHA1、HMAC-SHA256、PBKDF2等等。

crypto-js加密算法库

CryptoJS 安装

使用npm进行安装

npm install crypto-js

CryptoJS 使用

支持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

CryptoJS开源项目的 Github地址链接

https://github.com/brix/crypto-js

有这样一个齐全的加密算法库,为前端设计开发的Javascript就很方便很多了,有需要的可以去试试了!

 

转载请注明链接地址:荐爱小站 » 多种安全加密算法的前端Javascript标准js库crypto-js

赞 (1) 赏 !

觉得文章有用就打赏一下吧,赠人玫瑰手有余香!

支付宝扫一扫打赏

微信扫一扫打赏