Appearance
node 加密解密
base64
js
const str = 'node';
// 加密
new Buffer(str).toString('base64'); // bm9kZQ==
// 解密
new Buffer('bm9kZQ==', 'base64').toString(); // node
md5
js
const crypto = require('crypto');
// or
// import crypto from 'crypto';
const md5 = () => {
return crypto.createHash('md5').update('abc').digest('hex');
};
md5('node'); // 36c4536996ca5615dcf9911f068786dc
Node.js 的 crypto 模块提供了不仅仅是哈希函数,还支持一些对称加密和非对称加密算法,可以进行解密操作。下面是一些常见的可解密算法:
对称加密算法:
- AES(Advanced Encryption Standard)
- DES(Data Encryption Standard)
- 3DES(Triple DES)
- Blowfish
- RC4(Rivest Cipher 4)
- RC2(Rivest Cipher 2)
非对称加密算法:
- RSA(Rivest, Shamir, Adleman)
- DSA(Digital Signature Algorithm)
- ECDSA(Elliptic Curve Digital Signature Algorithm)
- ECDH(Elliptic Curve Diffie-Hellman)
这些算法可以用于数据加密和解密,以及数字签名和验证等操作。对称加密使用相同的密钥进行加密和解密,而非对称加密使用公钥和私钥进行加密和解密。
在 Node.js 中,你可以使用 crypto.createDecipher 方法创建一个解密对象,然后使用相应的算法进行解密操作