RSA加密是一种非对称加密算法,在Node.js中可以使用crypto
模块来实现RSA加密。
一、基础概念
二、优势
三、类型(主要从密钥长度角度)
四、应用场景
五、Node.js中的实现示例
crypto
模块(Node.js自带,无需额外安装)。const crypto = require('crypto');
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
modulusLength: 2048,
publicKeyEncoding: {
type: 'spki',
format: 'pem'
},
privateKeyEncoding: {
type: 'pkcs8',
format: 'pem'
}
});
console.log('公钥:', publicKey);
console.log('私钥:', privateKey);
const data = '这是一些要加密的数据';
const buffer = Buffer.from(data);
const encrypted = crypto.publicEncrypt(publicKey, buffer);
console.log('加密后的数据:', encrypted.toString('base64'));
const decrypted = crypto.privateDecrypt(privateKey, encrypted);
console.log('解密后的数据:', decrypted.toString());
如果在实际应用中遇到问题:
pem
格式)和编码方式(如base64
编码转换等)。领取专属 10元无门槛券
手把手带您无忧上云