Nodejs 使用node-rsa 加密数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nodejs 使用node-rsa 加密数据相关的知识,希望对你有一定的参考价值。
参考技术A RSA算法原理 阮一峰1、在node.js中使用rsa算法。首先需要是使用node-rsa包
2、实现加密/解密
客户端需要使用一个jsencrypt.min.js 包利用公钥对数据进行加密
以上运行时可以会出现如下错误
出现如上错误的时候,是服务端的加密方法和jsencrypt的加密方式不一致导致的。jsencrypt加密方式是pkcs1,node-rsa 默认的加密方式是pkcs1_oaep。解决办法如下:
node-rsa
【node-rsa】
引用
var NodeRSA = require(‘node-rsa‘)
生成一个私钥长度为512的key(同时生成公钥)
var key = new NodeRSA({b: 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)
导出公钥、私钥
var private_key = key.exportKey(‘pkcs1‘); console.log(private_key) var public_key = key.exportKey(‘pkcs1-public‘); console.log(public_key)
导入公钥、私钥
var key2 = new NodeRSA() key2.importKey(private_key2,‘pkcs1-private‘) key2.importKey(public_key2, ‘pkcs1-public‘)
参考:https://www.npmjs.com/package/node-rsa
以上是关于Nodejs 使用node-rsa 加密数据的主要内容,如果未能解决你的问题,请参考以下文章