nodejs 公私钥文件加密解密


 
利用 openssl 生成公钥私钥
生成公钥: openssl genrsa -out privateKey.pem 1024
生成私钥: openssl rsa -in privateKey.pem -pubout -out publicKey.pem
 
const fs = require('fs')
const privateKey = fs.readFileSync(`privateKey.pem`).toString();
const publicKey = fs.readFileSync(`publicKey.pem`).toString();
const crypto = require('crypto');
const data = "eggsy";
//公钥加密
const encodeData = crypto.publicEncrypt(publicKey, Buffer.from(data)).toString('base64');
console.log("encode: ", encodeData)
//私钥解密
const decodeData = crypto.privateDecrypt(privateKey, Buffer.from(encodeData.toString('base64'), 'base64'));
console.log("decode: ", decodeData.toString())

console.log('---------------------------------')

//私钥加密
const encodeData2 = crypto.privateEncrypt(privateKey, Buffer.from(data)).toString('base64');
console.log("encode2: ", encodeData2)
//公钥解密
const decodeData2 = crypto.publicDecrypt(publicKey, Buffer.from(encodeData2.toString('base64'), 'base64'));
console.log("decode2: ", decodeData2.toString())


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM