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

mac 网站开发软件网站建设多少钱

mac 网站开发软件,网站建设多少钱,深夜免费软件app下载,上海电商网站建设费用目录 目标 环境 实现RSA加解密 计算RSA加密允许的最大字节长度 目标 使用JS实现RSA加密解密。计算RSA加密允许的最大字节长度。 环境 node-rsa 实现RSA加解密 const NodeRSA require(node-rsa);function getKey() {const keyLength512// 创建 RSA 密钥对const key new …

目录

目标

环境

实现RSA加解密

计算RSA加密允许的最大字节长度


目标

  1. 使用JS实现RSA加密解密。
  2. 计算RSA加密允许的最大字节长度。

环境

        node-rsa


实现RSA加解密

const NodeRSA = require('node-rsa');function getKey() {const keyLength=512// 创建 RSA 密钥对const key = new NodeRSA({b: keyLength}); // 512位密钥长度(你可以根据需要增加位数)const publicKey = key.exportKey('public');const privateKey = key.exportKey('private');return {"publicKey": publicKey,"privateKey": privateKey};
}/*** 加密函数* @param plaintext 明文* @param publicKey 公钥* @returns {string|Buffer} 加密后的数据(Base64 编码)*/
function encrypt(plaintext, publicKey) {const key = new NodeRSA(publicKey);// 使用 PKCS#1 v1.5 填充加密,并返回 Base64 编码return key.encrypt(plaintext, 'base64', {encryptionScheme: 'pkcs1'});
}/*** 解密函数* @param encryptedData 密文* @param privateKey 私钥* @returns {string} 解密后的明文*/
function decrypt(encryptedData, privateKey) {const key = new NodeRSA(privateKey);// 使用 PKCS#1 v1.5 填充解密return key.decrypt(encryptedData, 'utf8', {encryptionScheme: 'pkcs1'});
}// 获取公钥和私钥
const keyObject = getKey();// 输出公钥和私钥
console.log("公钥:\n", keyObject.publicKey);
console.log("私钥:\n", keyObject.privateKey);// 要加密的明文
const plaintext = "hello world! 你好";// 加密
const encryptData = encrypt(plaintext, keyObject.publicKey);
console.log("加密结果:", encryptData);// 解密
const decryptData = decrypt(encryptData, keyObject.privateKey);
console.log("解密结果:", decryptData);

计算RSA加密允许的最大字节长度

function getMaxEncryptableBytes(keyLength, paddingType) {// 将密钥长度从位转换为字节,就是除以8。const keyLengthInBytes = keyLength >> 3;// 根据填充类型决定填充长度let paddingLength = 0;switch (paddingType.toUpperCase()) {case 'PKCS1':paddingLength = 11; // PKCS#1 v1.5 填充break;case 'OAEP':paddingLength = 42; // OAEP 填充break;case 'PSS':paddingLength = 42; // PSS 填充(假设)break;case 'NONE':paddingLength = 0;  // 无填充break;default:throw new Error('未知的填充类型');}// 计算最大可加密字节数return keyLengthInBytes - paddingLength;
}console.log(getMaxEncryptableBytes(512,"PKCS1"))
http://www.dtcms.com/wzjs/295825.html

相关文章:

  • 黄骅港天气预报上海关键词排名手机优化软件
  • 建站wordpress 基础seo外包服务专家
  • 响应式网站建设咨询百度一下首页极简版
  • 一个企业网站多少钱网上网络推广
  • 网站规划总结广州最新政策
  • 手机网站开发怎么测试网络营销工具有哪些
  • 网站怎么做优化步骤广点通
  • wordpress jetpack中国seo网站关键词优化方式
  • 房地产销售自我介绍手机一键优化
  • 厦门正规网站建设公司广州网站营销seo费用
  • 公司在线网站制作系统新余seo
  • 站外营销有哪几种主流方式江东怎样优化seo
  • 企业网站托管新趋势教育培训机构平台
  • 旅游网页代码学校seo推广培训班
  • 广州h5网站制作武汉百度推广公司
  • 个人简历模板范文手写seo点击工具
  • 新疆生产建设兵团胡杨网站深圳网络营销推广招聘网
  • 做门面商铺比较好的网站软文标题例子
  • 怎么做网站demo关键词调整排名软件
  • 塘下网站建设2345网址导航用户中心
  • 做网站需要什么文件关键词推广系统
  • 有什么网站是可以做日语题石家庄全网seo
  • 网站策划与网页设计ks刷粉网站推广马上刷
  • 福田专业网站建设公司免费seo教程
  • 免费的网站app软件爱站工具包官网下载
  • wordpress媒体库整理惠州seo优化
  • 长沙 做营销型网站的公司全网营销
  • web怎么做网站百度怎么做关键词优化
  • 帝国网站模板建设seo优化关键词
  • 北京住房和建设部网站关键词优化和seo