Skip to content

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 方法创建一个解密对象,然后使用相应的算法进行解密操作