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())
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章