Node.js 的 crypto 模块

Node.js 内置的 crypto 模块提供了基本的加密功能,可以用于生成 RSA 密钥对和执行加密、解密操作。
代码案例:

const crypto = require('crypto');

const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
  modulusLength: 2048,
});

const data = "Hello, World!";
const encryptedData = crypto.publicEncrypt(publicKey, Buffer.from(data));
console.log("Encrypted data:", encryptedData.toString('base64'));

const decryptedData = crypto.privateDecrypt(privateKey, encryptedData);
console.log("Decrypted data:", decryptedData.toString());

在 Node.js 中,可以使用内置的 crypto 模块结合自己的公钥来进行 RSA 加密。
代码案例:

const crypto = require('crypto');

// 使用你的公钥(PEM 格式)
const publicKey = `-----BEGIN PUBLIC KEY-----
[你的公钥内容]
-----END PUBLIC KEY-----`;

// 要加密的数据
const data = "Hello, RSA!";

// 使用公钥加密数据
const encryptedData = crypto.publicEncrypt(publicKey, Buffer.from(data));

// 将加密后的数据转换为 base64 编码,便于存储或传输
console.log("Encrypted data:", encryptedData.toString('base64'));

crypto-js 库

如果你在使用 Node.js,可以通过 npm 安装:

npm install crypto-js

代码案例:

const CryptoJS = require('crypto-js');

// 要计算 MD5 的字符串
const message = "Hello, World!";

// 计算 MD5
const hash = CryptoJS.MD5(message).toString();

console.log("MD5 Hash:", hash);

更多推荐