Node.js 使用RSA加密/解密
2018-03-15 14:21
1491 查看
node-rsa
标签(空格分隔): 未分类第一次使用,不喜勿喷。有什么好的建议请联系博主邮箱 15517072173@163.com
详细内容请查看node-rsa官方文档
纯粹的JavaScript不需要OpenSSL
生成密钥
支持加密/解密的长消息
签署和验证
Example
var NodeRSA = require('node-rsa'); var key = new NodeRSA({b: 512}); //生成新的512位长度密钥 var text = 'Hello RSA!'; // 加密前数据 var encrypted = key.encrypt(text, 'base64'); // 加密后数据 console.log('encrypted: ', encrypted); var decrypted = key.decrypt(encrypted, 'utf8'); // 解密后数据 console.log('decrypted: ', decrypted);
安装
npm install node-rsa
要求nodejs> = 0.10.x或io.js> = 1.x
用法
创建实例
var NodeRSA = require (' node-rsa ') ; var key = new NodeRSA([ keyData ,[ format ] ] ,[ options ] );
keyData - {string|buffer|object}用于生成密钥或以支持的格式之一生成密钥的参数。
format - {string}导入密钥的格式。查看有关导出/导入部分格式的更多详细信息。
options - {object}- 其他设置。
创建“空”键
var key = new NodeRSA();
生成新的512位长度密钥
var key = new NodeRSA({ b :512 } );
导入/导出密钥
/*实例*/ var publicDer = key.exportKey('public'); var privateDer = key.exportKey('private'); console.log('公钥:',publicDer); console.log('私钥:',privateDer); key.importKey(result[1], 'private'); /*语法*/ key.importKey(keyData, [format]); key.exportKey([format]);
keyData - {string|buffer}- 可能是:
键入PEM字符串
包含PEM字符串的缓冲区
包含DER编码数据的缓冲区
对象包含关键组件
format - {string}- 用于导出/导入的格式ID。
加密/解密
/*加密*/ key.encrypt(buffer, [encoding], [source_encoding]); key.encryptPrivate(buffer, [encoding], [source_encoding]); // 使用私钥进行加密 /*解密*/ key.decrypt(buffer, [encoding]); key.decryptPublic(buffer, [encoding]); // 使用公钥解密 /*实例*/ var encryData = key.encryptPrivate(req.body.user_pwd, 'base64','utf8'); console.log('加密后的数据',encryData); var decryptData = key.decryptPublic(result[0],'utf8'); console.log('解密后的数据',decryptData);
↓↓↓部分代码↓↓↓
相关文章推荐
- koa使用之node.js 文件加密与解密
- 关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
- Node.js 基于 ursa 模块的 RSA 加密解密(已与IOS,Android实现加密通信)
- Node和浏览器端使用RSA加密解密
- node.js 使用crypto模块进行RSA加解密操作
- React Native + Nodejs 使用RSA加密登录
- 关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
- RSA加解密使用总结,.net私钥加密公钥解密,WinCE平台RSA加解密
- RSA加解密使用总结,.net私钥加密公钥解密,WinCE平台RSA加解密
- javascript(js)使用eval方法加密过的函数解密方法
- 使用X.509数字证书加密解密实务-- 使用RSA证书加密敏感数据
- rsa实现js前台加密java后台解密
- 使用X.509数字证书加密解密实务(二)-- 使用RSA证书加密敏感数据(转)
- C#使用RSA证书文件加密和解密示例
- Java-web下使用RSA进行加密解密操作
- .NET中RSA使用数字证书加密解密
- 使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据(转)
- 在WebService中使用RSA进行加密和解密操作时,出现的一种异常的解决。(转帖自微软社区)
- 使用X.509数字证书加密解密实务(二)-- 使用RSA证书加密敏感数据
- RSA客户端js加密服务器C#解密(含源码)