rsa加解密算法,nodejs 对数据进行证书加密

要用nodejs开发接口,实现远程调用,如果裸奔太危险了,就在网上找了一下nodejs的加密,感觉node-rsa挺不错的,下面来总结一下简单的rsa加密解密用法

初始化环境

新建一个文件夹 node-rsa-demo, 终端进入,运行下面命令初始化

cd node-rsa-demonpm init # 一路回车即可npm install --save node-rsa

生成公钥私钥

在 node-rsa-demo 下新建一个文件 index.js 写上如下代码

var NodeRSA = require('node-rsa')var fs = require('fs')function generator() { var key = new NodeRSA({ b: 512 }) key.setOptions({ encryptionScheme: 'pkcs1' }) var privatePem = key.exportKey('pkcs1-private-pem') var publicPem = key.exportKey('pkcs1-public-pem') fs.writeFile('./pem/public.pem', publicPem, (err) => { if (err) throw err console.log('公钥已保存!') }) fs.writeFile('./pem/private.pem', privatePem, (err) => { if (err) throw err console.log('私钥已保存!') })}generator();

先在 node-rsa-demo 文件夹下新建一个文件夹 pem 用来存放密钥的,然后执行 node index.js,会发现在 pem 文件夹下生成了两个文件

  • private.pem
  • public.pem

加密

加密 hello world 这个字符串

function encrypt() { fs.readFile('./pem/private.pem', function (err, data) { var key = new NodeRSA(data); let cipherText = key.encryptPrivate('hello world', 'base64'); console.log(cipherText); });}//generator();encrypt();

然后执行 node index.js 终端里会输出一串类似 fH1aVCUceJYVvt1tZ7WYc1Dh5dVCd952GY5CX283V/wK2229FLgT9WfRNAPMjbTtwL9ghVeYD4Lsi6yM1t4OqA== 的base64字符串,这就是用私钥加密后的密文了

解密

把上一步加密获得的密文复制粘贴到下面要解密的方法内

function decrypt() { fs.readFile('./pem/public.pem', function (err, data) { var key = new NodeRSA(data); let rawText = key.decryptPublic('fH1aVCUceJYVvt1tZ7WYc1Dh5dVCd952GY5CX283V/wK2229FLgT9WfRNAPMjbTtwL9ghVeYD4Lsi6yM1t4OqA==', 'utf8'); console.log(rawText); });}//generator();//encrypt();decrypt();

执行 node index.js 会发现又拿到 hello world 了

(0)
上一篇 2023年1月6日 上午9:32
下一篇 2023年1月6日 上午9:37

相关推荐

  • 蹲便器与地面砖持平吗

    蹲便器和坐便器一样,是我们日常生活中常见的卫生间设备。然而,有人认为蹲便器比坐便器更加卫生,因为它可以避免接触到坐便器座圈上的细菌。但是,蹲便器与地面砖是否持平,这是一个备受争议的…

    生活百科 2023年6月21日
    0
  • 高压锅怎么煮粽子

    本文目录 1.准备材料 2.煮粽子 3.注意事项 粽子是中国传统的美食,尤其是在端午节时更是备受欢迎。煮粽子的方法有很多种,其中使用高压锅煮粽子是一种快速且方便的方法。下面是具体的…

    生活百科 2023年8月24日
    0
  • 结婚前有必要定婚吗

    在中国传统文化中,定婚是婚姻中的重要环节。但是在现代社会中,结婚前是否有必要进行定婚呢?这是一个备受争议的话题。 首先,定婚可以让双方更加明确彼此的婚姻意愿。通过定婚,男女双方可以…

    生活百科 2023年9月19日
    0
  • 无障碍环境认证实施方案及评价标准发布会

    无障碍环境认证实施方案及评价标准发布 12月3日是“国际残疾人日”,由国家市场监管总局认证监督管理司、中国残疾人联合会维权部、中国助残志愿者协会联合主办,中国工程咨询协会、北京市建…

    生活百科 2023年4月20日
    0
  • 夫妻感情出现问题怎么解决?有效的方法是什么

    夫妻之间感情出现问题后,很多人常常都是还没有去解决问题就已经开始泄气,自暴自弃甚至用不对的方法解决感情问题,结果两个人变得更加疏远,该怎样解决感情出现问题呢,夫妻感情出现问题怎么解…

    2023年5月30日
    0
  • 电视机当显示器的优缺点,电视机和电脑显示器哪个效果好

    读大学的时候,由于预算很有限,组装了一台电脑主机,还是用的是比较老的21寸显示器,嫌弃屏幕太小,于是就用家里的电视机当做显示器用了一段时间,可是没有好久,浩南就发现一些问题,在这里…

    2022年12月24日
    0
  • 现在网游有什么推荐的良心之作

    这题我会!就说我正在玩的逆水寒吧,入坑也有一段时间了,作为一款武侠游戏,逆水寒的剧情和画面都做得很不错~(偷偷补充一句,我最开始入坑就是因为被游戏里的风景给吸引了) 前前后后也玩过…

    2023年5月29日
    0
  • ok镜停戴一天视力下降多少度

    如果您是个近视患者,那么您可能已经开始使用OK镜来矫正视力。但是,您是否曾经想过,如果您停戴OK镜一天,您的视力会下降多少度呢? 事实上,每个人都有不同的视力情况和OK镜的使用方式…

    生活百科 2023年10月9日
    0
  • 什么叫全满贯?什么叫大满贯?你如何理解

    简单普及一下。大满贯,即Grand Slam,一开始是桥牌用语,后来在网球领域流行开来,近些年延伸到高尔夫等运动项目。比如中国的乒羽等。我这里说下网球。 大满贯Grand Slam…

    2023年5月22日
    0
  • 钢筋焊接接头见证取样单,钢筋焊接接头取样送检规范

    钢筋闪光对焊是将两钢筋以对接形式水平安放在对焊机上,利用电阻热使接触点金属熔化,产生强烈闪光和飞溅,迅速施加顶锻力完成的一种压焊方法。 钢筋焊条电弧焊是以焊条作为一极,钢筋为另一极…

    生活百科 2023年4月14日
    0

发表评论

登录后才能评论