介绍
Crypt-js 是一个用于加密和解密的 Node.js 库,它支持多种加密算法和模式,包括 AES、DES、TripleDES、RC4 等常用加密算法。Crypt-js 在 NPM 上有开源的项目,可以通过 npm install crypt-js 安装。
安装
使用 npm 安装 crypt-js:
npm install crypt-js
加密字符串
使用 crypt-js 加密字符串很简单,只需要调用 CryptoJS.AES.encrypt()
方法并传入要加密的字符串,还需要传入一个密码,这个密码用于加密和解密。
const CryptoJS = require('crypto-js'); const plaintext = 'This is a string to be encrypted'; const password = 'myPassword'; const ciphertext = CryptoJS.AES.encrypt(plaintext, password).toString(); console.log(ciphertext);
输出结果:
U2FsdGVkX19JSf9EhIpA1LR0L8SdOk3/k+czefyJg1M=
解密字符串
解密数据和加密数据的方法和其它参数都一样,只需要调用 CryptoJS.AES.decrypt()
,并将要解密的密码和加密的字符串传递给它即可。
const CryptoJS = require('crypt-js'); const ciphertext = 'U2FsdGVkX19JSf9EhIpA1LR0L8SdOk3/k+czefyJg1M='; const password = 'myPassword'; const decrypted = CryptoJS.AES.decrypt(ciphertext, password).toString(CryptoJS.enc.Utf8); console.log(decrypted);
输出结果:
This is a string to be encrypted
支持加密算法
Crypt-js 支持多种加密算法和模式,这里是例子
1. AES 加密
const ciphertext = CryptoJS.AES.encrypt(plaintext, password).toString(); const decrypted = CryptoJS.AES.decrypt(ciphertext, password).toString(CryptoJS.enc.Utf8);
2. DES 加密
const ciphertext = CryptoJS.DES.encrypt(plaintext, password).toString(); const decrypted = CryptoJS.DES.decrypt(ciphertext, password).toString(CryptoJS.enc.Utf8);
3. TripleDES 加密
const ciphertext = CryptoJS.TripleDES.encrypt(plaintext, password).toString(); const decrypted = CryptoJS.TripleDES.decrypt(ciphertext, password).toString(CryptoJS.enc.Utf8);
4. Rabbit 加密
const ciphertext = CryptoJS.Rabbit.encrypt(plaintext, password).toString(); const decrypted = CryptoJS.Rabbit.decrypt(ciphertext, password).toString(CryptoJS.enc.Utf8);
5. RC4 加密
const ciphertext = CryptoJS.RC4.encrypt(plaintext, password).toString(); const decrypted = CryptoJS.RC4.decrypt(ciphertext, password).toString(CryptoJS.enc.Utf8);
总结
Crypt-js 是一个简单易用的 Node.js 加密库,支持多种加密算法和模式,使用起来方便快捷。在实际开发中,我们经常需要对一些机密信息进行加密,可以考虑使用 crypt-js 来实现。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005727681e8991b448e8aa4