nodejs私钥加密公钥解密的一个例子
2024/03/01
公钥私钥生成网站 //https://www.metools.info/code/c81.html //nodejs公钥私钥生成方法 let crypto = require('crypto'); let {privateKey,publicKey} = crypto.generateKeyPairSync('rsa',{modulusLength:2408}); console.log(privateKey.export({type:'pkcs1',format:'pem'})); console.log(publicKey.export({type:'pkcs1',format:'pem'})); //nodejs公钥私钥生成方法//结束 //加解密开始 let publicKey = `-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAu336QqwOGw+RavP/6yad GmxrNjKdWBE/tASABCDh0oZogr2neM1edyuRG3zuNzsMzcYeh2FXuZnflrmu0bYr Bp/3+wRd/OQX8HYrbt/5MD8JoyY3Ya28mJzW8Kh6+Nby6ZN2OMz2Jjhu99FhsepK l9g9HpV17lMId31h77L4V2lQ6K1Yf1JC09odXgiNrxhAZU/6lL4unV2sNVR8eB/M YrXLQyiUDZEMtRHfb8OFB1vsPMsHLdpy/gKgKmstZsmMW6SasFszmLkOfRagBJoR XEKSbUDCbeUp3q1ZCAjKGWFYUd0aBmcuisptOJABceVn2KGZ5eGZtef8soiex8zU 8y37JeyfPESLCylJGKqLVzvzJJGpWCbymrY3tVEfhqr2uBR1zgnVG0i9wdFOHdq3 hGZcmKQCsju/HrdxYUGqmsCIUl19Ct60rgDQc5aqFlwAg9C1vutn/TKvVIDfmXIy KkB5lDNg8+dtxB6wklKw+17Z42el1yltaqIuTayblFKL5ZDDSfeb+bNDslzoah8K 5rGBmmCSM2OL598CWWHuPQIMRGaaD5gFGlWSIfZKbppcn/gSJKIu4Y7mnUchjw+2 4n5QnojXTfzjUnoISi1/n5QBQA+bX0lNQal4Kb0+72qQ892koPbndJpv5OIB97eh C3rXnzLQnwG/UrAT/wFnMp0CAwEAAQ== -----END PUBLIC KEY----- ` let privateKey = `-----BEGIN PRIVATE KEY----- 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 ClPeFWyiIv9+6ed8QhLyxI3UppW8xYI= -----END PRIVATE KEY----- ` //加密开始 const crypto = require('crypto'); const data = 'hello world'; const encryptedData = crypto.privateEncrypt({ key:privateKey, passphrase:"" },Buffer.from(data)); let encryptedDataBase64 = encryptedData.toString('base64'); //公钥解密 let decryptedData = crypto.publicDecrypt(publicKey,Buffer.from(encryptedDataBase64,'base64')); console.log(decryptedData.toString());
注意公钥私钥开头不能有空格,主体和‘
-----BEGIN PRIVATE KEY-----
’之间只有一个回车,不能存在空格
没有更多了
静水缘首页
刘丕水+宋静静于2007年9月相识于山东理 工大学,毕业后2011年相恋,共甘苦,历 时四年,终于在11月23号拿到了红本本, 组建了自己的小家庭......文章分类
最新文章
- nodejs私钥加密公钥解密的一个例子
- uniapp和微信小程序判断程序运行在开发或者测试或者线上版本的方法分别是什么
- electron使用electron-builder打包后模块包含exe文件执行失败
- Compile is disallowed on the main thread, if the buffer size is larger than 4KB
- better-sqlite3简介及常用操作
- nodejs 操作数据库的库
- nodejs使用http-proxy库实现多个域名代理和同时代理websocket的例子,代理包含https和http两种协议
- iis配置反向代理
- javascript伪多线程代码
- ip所在地址段判断