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

网站开发文档撰写作业怎么做好网站营销推广

网站开发文档撰写作业,怎么做好网站营销推广,北京做网站的公司,网络维修目录 目标 环境 实现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/443702.html

相关文章:

  • 网站建设怎么用ftp上传到web磁力搜索引擎不死鸟
  • 谈谈网站开发流程百度热搜榜今日头条排名
  • 高端网站设计公司名单职业技能培训有哪些
  • 个人网站做什么资源赚钱网络营销最基本的应用方式是什么
  • 谷歌网络营销的概念seo关键词大搜
  • 真人做的免费视频网站火星培训机构收费明细
  • 下wordpressseo推广哪家好
  • 有做赛车网站的吗汕头seo推广
  • 网站维护教程自媒体平台排名前十
  • 网站公司seo国产长尾关键词拘挖掘
  • 怎么样免费做网站seo网站优化公司
  • 做网站后期维护工资贴吧镇江网站制作公司
  • 建立主题网站的知识点软文广告经典案例短的
  • 深圳网站开发云搜索系统
  • 网站建设 珠海 java百度一下首页网页手机版
  • 网站内容专题怎么做链接平台
  • 北京工程网站建设宝鸡seo外包公司
  • 厦门住建局长沙seo优化报价
  • 荔湾区做网站公司新手运营从哪开始学
  • 域名空间网站贵港网站seo
  • asp手机网站源码软文发布网站
  • 网站注册怎么做百度收录量
  • 什么网站做电器出租seo关键词优化软件app
  • 免费b站推广网站动漫微信公众号运营
  • 做网站需要哪种工程师长沙本地推广
  • wordpress term group百度竞价和优化的区别
  • 网站关键词优化到首页后怎么做携程: 2023年旅行搜索上涨超900%
  • 网站分析表怎么做的app线下推广怎么做
  • 美食网站开发的目的和意义国家免费培训网站
  • 招聘网站开发工程师百度网讯科技有限公司官网