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

使用jsencrypt在web前端对字符串进行Ras加密

话不多说,上代码

实例代码

下面方法,在网页中先引入jsencrypt.min.js。然后调用ToEncrypt方法示例输出加密,解密后的结果。

<script  src="/js/jsencrypt.min.js"></script>
//加密测试function ToEncrypt(){// 假设这是从服务器获取的公钥(通常是通过HTTPS)  var privateKey = `-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAtYlkBiWSjQ42TCzGVOfvJxap7aT/ODwf0tjqOeBNDQvjLzHI\noafjFk9McdyTgOpPx2gXRZuuRkjuVDVqdPRqMGKpM/YDU64IImNFBtkM7dUuufa0\njJNE/SRHy4Wb1ayvLW6/O6J471ZV7/hpKmDkUPCuVPADHa8z4bYpp0dalniNj1LL\nNOkbwyyxLFKGUwyaTk+RyXw5pn4jU2ZtnSfSANEOIOKP7pzLUztZx7f9dSw2tuMs\nWy91UFZHrtMdDU0vZjMbMZUR9DtQJsN6di2+1dMluWBHuHwf9+ydItVo2SGGgZ50\nDfw4N4vR7Vgh6fTF0oLanIB0fIe2m0piBVXsqwIDAQABAoIBAG16bNL0J7xfXMl1\nmyorMWPOXC5P+gaM49hBLog2x+DdUWXtzQQIfn++1Og50M7G/9PO53H4IBKM+wXX\nrNrZZ4zEgywt6fW2F3u9iCxIC28GyIYnzNyWF93d2lpXuhITcRWiGzu4kNwtoef1\nVF7VTfuuGkRo9kgZl91AAUC7XFsvVbEYS3rVHtJntZrIct6QkoLRuBZIFVl6UhVb\nUijQVX4bHs44uNNqSgYDD9TegTNCP4oCjF7KJYpmXy/0RMGdMOSCGtlKVBl8MIka\n5YliPLRVyEiFpn1U96vwQvQvrRsFtSCMeLrDHg2AcvToSaqGHzWLql0plVSfXOgC\nZC7STiECgYEAxoZqz1gH9dXTgz3Rp0d8Q32uGmvBSC43BwjoDASwvMRWa8QEyo68\nF/vnw+ZqwyfXBfg4NXoDdi40bv6WvooePiEXCoy7ElaNrC5wuIoIfQ2w0g1fsCjL\nHrJ3+mK+vKejt7Xa9v+EH+b+hW8fItSCjhGYtiTvFenDuOfqqZTvPtsCgYEA6hfj\nXKHIolALjLQVtsumaBZUsTA+9vpz+YecPOupgZxP9M2I1AF2+D56sIjNCu3Xpltb\nsy1hNiQYaxJr3mFirevrBFxMgCoaXgow8TEIT0HYQxaSomKHdb07sexydbB1o5dR\n69XTnp3B5cL/FGbO47AHfc1imb3XWsNljHoF6nECgYAfy2dPzcl4lcZKPpxVLh24\nsWgw0xEhfkVR2xtO0XF8yfUNTVd3GWUGclGsDjsLBlZpnldiOShUxRGgtSVvXq95\nQ9Ns3R0Y0sPdz5I9+91gKdEn0vyAOghN4kdU0nu5ux99TKLE7Cc89MHOnP1flqlS\nF39drIyd9dJiysHKZw/qAQKBgQDbKLongx9/NklZ1U9u74I/eIiZyn1oZFonhxpy\nvn7XZSxGGBa9xRFIn9XlaG3uiXWXvXhAa3/TXD+wHnL2o13rTi+cyXylkMVWvVvM\nswcAjLiXNo7ZkD0ZsawtixwtqqK4IXcEwA97NF7PaJu+0fFnoOmikaJ6JQ11X/G2\nbpcTQQKBgG1z+BLLed2uU6NK37UvdXLu03c9T12jEh0WyX0e4P6CjlteWt1NYDtq\nxQ/VnfQgdMoBb3NE9AEUUYUIiqCDyRtKlS5rolD4Ie0/FvnQlhjZ64uv6ptFvHFo\nGmT4f8YLqF+NdXaXcYgNHPDB43wCQ2GVeVvNEgIAItAw1TuRG7KC\n-----END RSA PRIVATE KEY-----\n`;var publicKey =`-----BEGIN RSA PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtYlkBiWSjQ42TCzGVOfv\nJxap7aT/ODwf0tjqOeBNDQvjLzHIoafjFk9McdyTgOpPx2gXRZuuRkjuVDVqdPRq\nMGKpM/YDU64IImNFBtkM7dUuufa0jJNE/SRHy4Wb1ayvLW6/O6J471ZV7/hpKmDk\nUPCuVPADHa8z4bYpp0dalniNj1LLNOkbwyyxLFKGUwyaTk+RyXw5pn4jU2ZtnSfS\nANEOIOKP7pzLUztZx7f9dSw2tuMsWy91UFZHrtMdDU0vZjMbMZUR9DtQJsN6di2+\n1dMluWBHuHwf9+ydItVo2SGGgZ50Dfw4N4vR7Vgh6fTF0oLanIB0fIe2m0piBVXs\nqwIDAQAB\n-----END RSA PUBLIC KEY-----\n`;// 实例化JSEncrypt对象  var encryptor = new JSEncrypt();  encryptor.setPublicKey(publicKey);  // 要加密的数据  var plaintext = "Hello, RSA234234!";  // 使用公钥加密数据  var encrypted = encryptor.encrypt(plaintext);  // 将加密后的数据发送到服务器(例如,通过AJAX请求)  // ...  console.log('Encrypted:', plaintext);console.log(encrypted);console.log('Encrypted:', encrypted);// 实例化JSEncrypt对象并设置私钥  var decryptor = new JSEncrypt();  decryptor.setPrivateKey(privateKey);  // 使用私钥解密数据  var decrypted = decryptor.decrypt(encrypted);  // 输出解密后的数据  console.log('Decrypted:', decrypted);  
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MySQL 日志深度解析:从查询执行到性能优化
  • 从零开始实现大语言模型(五):缩放点积注意力机制
  • idea启动ssm项目详细教程
  • llama-recipes
  • YOLO v8进行目标检测的遇到的bug小结
  • 澳门建筑插画:成都亚恒丰创教育科技有限公司
  • 【操作系统】进程管理——死锁(个人笔记)
  • IP 地址与 CDN 性能优化
  • java.lang.NullPointerException: null cannot be cast to non-null type kotlin.Int
  • 【系统架构设计】计算机组成与体系结构(三)
  • 【机器学习理论基础】回归模型定义和分类
  • 【CSS in Depth 2 精译】2.6 CSS 自定义属性(即 CSS 变量)+ 2.7 本章小结
  • Spring MVC 全面指南:从入门到精通的详细解析
  • MiniGPT-Med 通用医学视觉大模型:生成医学报告 + 视觉问答 + 医学疾病识别
  • 【公益案例展】亚运天穹——践行亚运理念,筑牢安全防线
  • JavaScript 如何正确处理 Unicode 编码问题!
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • create-react-app做的留言板
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Java 网络编程(2):UDP 的使用
  • markdown编辑器简评
  • nginx 配置多 域名 + 多 https
  • Spark学习笔记之相关记录
  • Vue 重置组件到初始状态
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 高程读书笔记 第六章 面向对象程序设计
  • 关于Java中分层中遇到的一些问题
  • 记一次和乔布斯合作最难忘的经历
  • 悄悄地说一个bug
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 推荐一个React的管理后台框架
  • 再次简单明了总结flex布局,一看就懂...
  • 最简单的无缝轮播
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #LLM入门|Prompt#3.3_存储_Memory
  • #QT(智能家居界面-界面切换)
  • #考研#计算机文化知识1(局域网及网络互联)
  • (21)起落架/可伸缩相机支架
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (笔试题)分解质因式
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (力扣题库)跳跃游戏II(c++)
  • (已解决)什么是vue导航守卫
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (状压dp)uva 10817 Headmaster's Headache
  • .bat文件调用java类的main方法
  • .net 7和core版 SignalR
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .Net 垃圾回收机制原理(二)
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • @NoArgsConstructor和@AllArgsConstructor,@Builder