当前位置: 首页 > news >正文

Node 如何生成 RSA 公钥私钥对

一、引入crypto模块

crypto 为node 自带模块,无需安装

const crypto = require('crypto');

二、封装生成方法

async function generateRSAKeyPair() {return new Promise((resolve, reject) => {crypto.generateKeyPair('rsa', {modulusLength: 2048, // 密钥长度为 2048 位publicKeyEncoding: {type: 'spki',format: 'pem'},privateKeyEncoding: {type: 'pkcs8',format: 'pem'}}, (err, publicKey, privateKey) => {if (err) {reject(err);} else {resolve({ publicKey, privateKey });}});});
}

modulusLength可根据情况自行修改,modulusLength越长越安全但花费的时间也越多

三、使用生成方法

generateRSAKeyPair().then(({ publicKey, privateKey }) => {console.log('Public Key:', publicKey);console.log('Private Key:', privateKey);// 将公钥发送给客户端
}).catch(error => {console.error('Error generating RSA key pair:', error);
});

在已启用的node服务器中调用,或通过node直接运行当前文件node xxx.js,进行调用

四、效果

调用后查看控制台便能看到生成的公钥私钥pem了
在这里插入图片描述

http://www.lryc.cn/news/514856.html

相关文章:

  • 瑞_Linux中部署配置Java服务并设置开机自启动
  • javaEE-多线程进阶-JUC的常见类
  • Flume拦截器的实现
  • Swift Combine 学习(四):操作符 Operator
  • leetcode 173.二叉搜索树迭代器栈绝妙思路
  • df.groupby([pd.Grouper(freq=‘1M‘, key=‘Date‘), ‘Buyer‘]).sum()
  • LLM - 使用 LLaMA-Factory 部署大模型 HTTP 多模态服务 (4)
  • icp备案网站个人备案与企业备案的区别
  • 如何不修改模型参数来强化大语言模型 (LLM) 能力?
  • AF3 AtomAttentionEncoder类的init_pair_repr方法解读
  • DDoS攻击防御方案大全
  • Vue中常用指令
  • Servlet解析
  • 带虚继承的类对象模型
  • 深度学习中的离群值
  • 如何利用Logo设计免费生成器创建专业级Logo
  • Mysql SQL 超实用的7个日期算术运算实例(10k)
  • 运算指令(PLC)
  • 「Mac畅玩鸿蒙与硬件49」UI互动应用篇26 - 数字填色游戏
  • 机器学习经典算法——逻辑回归
  • 【数据仓库金典面试题】—— 包含详细解答
  • 【UE5 C++课程系列笔记】19——通过GConfig读写.ini文件
  • JS 中 json数据 与 base64、ArrayBuffer之间转换
  • USB 驱动开发 --- Gadget 驱动框架梳理
  • 细说STM32F407单片机中断方式CAN通信
  • Python应用指南:高德交通态势数据
  • 医学图像分析工具01:FreeSurfer || Recon -all 全流程MRI皮质表面重建
  • .NET框架用C#实现PDF转HTML
  • mamba-ssm安装
  • 网络IP协议