node-rsa非对称加密使用

最近做个网站,数据传输需要加密,github上翻了好久找到了node-rsa,下面是使用过程。其他详细配置请移步作者github仓库。

下载,引入。

http://web.chacuo.net/netrsakeypair 去里面生成一对密钥。存起来。

客户端使用私钥加密传输数据。

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

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

'MIIBUwIBAD*****我的密钥中间内容在此省略******************************4T3ixIYmXV\n'+

'lE2w4ToVD*****我的密钥中间内容在此省略******************************CPWT\n'+

'4mRIKQI*****我的密钥中间内容在此省略******************************QVNewK\n'+

'aKdlPL*****我的密钥中间内容在此省略******************************tE5e5UG+Byh\n'+

'kaEcKrn*****我的密钥中间内容在此省略******************************oY\n'+

'mQIgMqI*****我的密钥中间内容在此省略******************************bamOJKFn\n'+

'bb6oNlScHk*****我的密钥中间内容在此省略******************************91+xgpo2d\n'+

'afyOciqf/g==\n'+

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

);//利用私钥创建NodeRSA对象。

let encryptPassword = key.encryptPrivate("要加密的字符串",'base64');  //用base64,因为解密只支持base64和buffer

encryptPassword= encryptPassword.replace(/\+/g,"~"); //base64里面有 + / = 不利于ajax数据传输,替换掉

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

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

 ajax数据传输到服务端

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

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

'MFwwDQ*****我的密钥中间内容在此省略******************************E6FQyA+lbm\n'+

'ezL2drqQvU********我的密钥中间内容在此省略******************SCkCAwEAAQ==\n'+

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

);//用公钥创建NodeRSA对象。

pw = pw.replace(/~/g,"+"); //pw是传输的加密数据,先吧客户端传递过来的数据还原

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,390评论 19 139
  • CTF中那些脑洞大开的编码和加密 0x00 前言 正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问...
    查无此人asdasd阅读 11,311评论 0 19
  • 熊猫背带裙 白s 2件 黑s 2件 双鱼背带裙 m l各1 长裤 黑裙裤m 灰裙裤m 粉边裤s 黑色金牛m 2件 ...
    莫遥1114阅读 1,274评论 0 0
  • 那是七年前的夏天 她站在人满为患的教室走廊 双手托着腮帮靠在扶手上 周围的人嬉笑打闹你追我赶 似乎都与她无关 她就...
    婕子95阅读 962评论 0 0
  • 每天忙碌的你,在工作中执行任务时,是全力以赴还是全力应付?是否也只是满足于“做”,而不在乎结果? 在前单位,经理讲...
    莫紫荨阅读 4,425评论 0 0