Node 如何生成 RSA 公钥私钥对
一、引入crypto模块
crypto 为node 自带模块,无需安装
const crypto = require('crypto');
二、封装生成方法
async function generateRSAKeyPair() {return new Promise((resolve, reject) => {crypto.generateKeyPair('rsa', {modulusLength: 2048, // 密钥长度为 2048 位publicKeyEncoding: {type: 'spki',format: 'pem'},privateKeyEncoding: {type: 'pkcs8',format: 'pem'}}, (err, publicKey, privateKey) => {if (err) {reject(err);} else {resolve({ publicKey, privateKey });}});});
}
modulusLength可根据情况自行修改,modulusLength越长越安全但花费的时间也越多
三、使用生成方法
generateRSAKeyPair().then(({ publicKey, privateKey }) => {console.log('Public Key:', publicKey);console.log('Private Key:', privateKey);// 将公钥发送给客户端
}).catch(error => {console.error('Error generating RSA key pair:', error);
});
在已启用的node服务器中调用,或通过node直接运行当前文件node xxx.js
,进行调用
四、效果
调用后查看控制台便能看到生成的公钥私钥pem了