node-rsa非對稱加密使用

最近做個(gè)網(wǎng)站,數(shù)據(jù)傳輸需要加密,github上翻了好久找到了node-rsa,下面是使用過程。其他詳細(xì)配置請移步作者github倉庫。

下載,引入。

http://web.chacuo.net/netrsakeypair 去里面生成一對密鑰。存起來。

客戶端使用私鑰加密傳輸數(shù)據(jù)。

let NodeRSA = require('node-rsa');? //引入包

var key = new NodeRSA('-----BEGIN PRIVATE KEY-----\n'+

'MIIBUwIBAD*****我的密鑰中間內(nèi)容在此省略******************************4T3ixIYmXV\n'+

'lE2w4ToVD*****我的密鑰中間內(nèi)容在此省略******************************CPWT\n'+

'4mRIKQI*****我的密鑰中間內(nèi)容在此省略******************************QVNewK\n'+

'aKdlPL*****我的密鑰中間內(nèi)容在此省略******************************tE5e5UG+Byh\n'+

'kaEcKrn*****我的密鑰中間內(nèi)容在此省略******************************oY\n'+

'mQIgMqI*****我的密鑰中間內(nèi)容在此省略******************************bamOJKFn\n'+

'bb6oNlScHk*****我的密鑰中間內(nèi)容在此省略******************************91+xgpo2d\n'+

'afyOciqf/g==\n'+

'-----END PRIVATE KEY-----'

);//利用私鑰創(chuàng)建NodeRSA對象。

let encryptPassword = key.encryptPrivate("要加密的字符串",'base64');? //用base64,因?yàn)榻饷苤恢С謆ase64和buffer

encryptPassword= encryptPassword.replace(/\+/g,"~"); //base64里面有 + / = 不利于ajax數(shù)據(jù)傳輸,替換掉

encryptPassword= encryptPassword.replace(/\//g,',');

encryptPassword = encryptPassword.replace(/=/g,'$');

?ajax數(shù)據(jù)傳輸?shù)椒?wù)端

var NodeRSA = require('node-rsa');

var key = new NodeRSA('-----BEGIN PUBLIC KEY-----\n'+

'MFwwDQ*****我的密鑰中間內(nèi)容在此省略******************************E6FQyA+lbm\n'+

'ezL2drqQvU********我的密鑰中間內(nèi)容在此省略******************SCkCAwEAAQ==\n'+

'-----END PUBLIC KEY-----'

);//用公鑰創(chuàng)建NodeRSA對象。

pw = pw.replace(/~/g,"+"); //pw是傳輸?shù)募用軘?shù)據(jù),先吧客戶端傳遞過來的數(shù)據(jù)還原

pw = pw.replace(/,/g,"/");

pw = pw.replace(/$/g,"=");

var decryptedPassword =? key.decryptPublic(pw,'utf8'); // 解密成utf-8格式,完成。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,937評論 18 139
  • CTF中那些腦洞大開的編碼和加密 0x00 前言 正文開始之前先閑扯幾句吧,玩CTF的小伙伴也許會(huì)遇到類似這樣的問...
    查無此人asdasd閱讀 6,098評論 0 19
  • 熊貓背帶裙 白s 2件 黑s 2件 雙魚背帶裙 m l各1 長褲 黑裙褲m 灰裙褲m 粉邊褲s 黑色金牛m 2件 ...
    莫遙1114閱讀 189評論 0 0
  • 那是七年前的夏天 她站在人滿為患的教室走廊 雙手托著腮幫靠在扶手上 周圍的人嬉笑打鬧你追我趕 似乎都與她無關(guān) 她就...
    婕子95閱讀 142評論 0 0
  • 每天忙碌的你,在工作中執(zhí)行任務(wù)時(shí),是全力以赴還是全力應(yīng)付?是否也只是滿足于“做”,而不在乎結(jié)果? 在前單位,經(jīng)理講...
    莫紫蕁閱讀 915評論 0 0