JavaScript中,常用crypto模块进行rsa加密,crypto-js模块进行md5算法
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);