美文网首页技术干货
node-rsa非对称加密使用

node-rsa非对称加密使用

作者: 乂千 | 来源:发表于2017-07-09 20:36 被阅读0次

最近做个网站,数据传输需要加密,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格式,完成。

相关文章

  • node-rsa非对称加密使用

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

  • node-rsa非对称加密

    写在最前:此文目的是框架代码的使用,减少刚接触时的弯路,所以内容且不做详细累述 一.使用 node-rsa 进行非...

  • https交互流程简述

    https使用到的加密算法 对称加密非对称加密 通过非对称加密,交换对称加密的密钥,之后采用对称加密传输非对称加密...

  • iOS逆向攻防之HASH,数字签名,对称加密算法

    在密码学中,加密部分主要分为对称加密和非对称加密,非对称加密主要有RSA非对称加密(使用公钥/私钥来加密解密),对...

  • iOS逆向攻防之HASH,数字签名,对称加密算法

    在密码学中,加密部分主要分为对称加密和非对称加密,非对称加密主要有RSA非对称加密(使用公钥/私钥来加密解密),对...

  • 学习笔记:HTTPS协议原理

    对称加密和非对称加密 加密分两种,对称加密和非对称加密。对称加密是指加密的双方使用同一个密钥加密和解密数据。非对称...

  • RSA加密

    RSA加密为非对称加密实现 对称加密:加密解密使用同一个算法 非对称加密:加密和解密使用不同算法 rsa加密原理 ...

  • 信息安全基础知识

    加密技术分为对称加密和非对称加密,区别在于加密和解密是否使用相同的密钥。对称加密使用相同的密钥,非对称加密的密钥则...

  • 视频学习《你的API还在”裸奔“吗?》

    简单区分对称加密、非对称加密对称加密就是使用相同的明文加密出来的密文都是一样的。非对称加密就是使用相同的明文加密出...

  • Web开发必须了解的密码学技术

    对称加密与非对称加密 按照密钥的使用形式,加密算法可以分为对称加密和非对称加密(又叫公钥加密)。对称加密在加密和解...

网友评论

    本文标题:node-rsa非对称加密使用

    本文链接:https://www.haomeiwen.com/subject/hzdehxtx.html