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

验证俩套加密算法是否互通

      // 创建一个新的 JSEncrypt 对象
      const encryptor = new JSEncrypt();

      生成新的 RSA 密钥对
      encryptor.generateKeyPair();

      // 获取公钥
      const publicKey = encryptor.getPublicKey();
      console.log('Public Key:', publicKey);

      // 获取私钥
      const privateKey = encryptor.getPrivateKey();
      console.log('Private Key:', privateKey);
      
      
      // 设置公钥
		encryptor.setPublicKey('-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6HdssyI6RZD6sS1sjJEXPc0U5knMz4pIbl8p849EhrUrG0QZWuwO1kM3XWzViCKjEZmgtrSRKZctZg1ZLhn/UsVIdOgL3zaqlu8KL9gEfB5EhSYAwe1pibUKiRnKE4i4ywU3rR4jJOIo5FHZymZs5UmA6AnpN6f3fNi+uQmI/rwIDAQAB-----END PUBLIC KEY-----');
		
		// 加密数据
		const encryptedData = encryptor.encrypt('Hello, world!');
		console.log('Encrypted Data:', encryptedData);
		
		// 解密数据
		// 创建另一个 JSEncrypt 对象
		const decryptor = new JSEncrypt();
		
		// 设置私钥
		decryptor.setPrivateKey('-----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQC6HdssyI6RZD6sS1sjJEXPc0U5knMz4pIbl8p849EhrUrG0QZWuwO1kM3XWzViCKjEZmgtrSRKZctZg1ZLhn/UsVIdOgL3zaqlu8KL9gEfB5EhSYAwe1pibUKiRnKE4i4ywU3rR4jJOIo5FHZymZs5UmA6AnpN6f3fNi+uQmI/rwIDAQABAoGAKwqEiVLIRa9dHxM+PF5DFrqdo7bOlY0sJN1xong9AQDGbjwgryYIsZCPSeJ58fX2sZTNOuLzpZDs+gJ5jnXIUc7AMR5JOUqKjbUpDvhg3b0PFZKg6IQlKi17iLuSNTjTT1QAH+3XfP7DbUL8XAetuNcPnNXJYy5oDffDKXIOVkECQQDgiD42NY07J2FZs+MlnKL2LsC6/25qRq935q6BLvEINEYLm5RcE/hSuRaPveuTFdiq/WKIcanK/D1vC7l7PV1nAkEA1DNXPKbYKkOeHOR/TjMPQeGfkJ+Dnqmm4yfSreecCwTMw30q+E2mBixHO4WIguBx79/niIXA1txl2goPCivWeQJBAIR1+/WxHBOkxNrNtBixUrZXmJ35KSOLdeMPdS2DCvFjHVuluh2kLmBnDvdX/M02Gy+s8l86Zwf4TSngydj5t8sCQFRI/DqUDsJizzesrsAx2bqSUp3QLihkPGx3keAPYdSimG6BlgLAXNSQ285RkNJjMf5UUhPRBLKTIkWDv0uL9AkCQC8oVnE73EMaDTVNZBYsfZzk2szbDUgbRccMresz1tOGyszOQ4y2dJDLxJ6BxVvLAKjmcbQrkyltdXLcYqWwJSk=-----END RSA PRIVATE KEY-----');
		
		// 解密数据
		const decryptedData = decryptor.decrypt(encryptedData);
		console.log('Decrypted Data:', decryptedData);
		
		const asdsadas = decryptor.decrypt('Yuol2oXv36JWosfy2RROWzp4fEguSotMq97F6zUmSpmotPtvec59nHglG//6kxM/kF9FbK21LN9idwIFNqA3IX07RVcrE0FTE6DVtAcMWxbB5QlEsD6exWDky9exFEH1/kPwrATFZqxDjVYnY5xbqJQtXc+mwk9yTz5w9fFrFzI=')
		console.log('asdsadas',asdsadas);

大体思想,先用a加密算法生成一套公钥和私钥,然后调用b加密算法的加密方法,其中的公钥,传a加密算法生成的。然后把使用b加密算法生成的结果,使用a加密算法的私钥进行解密,如果可以正确解密,则说明俩套算法互通


http://www.kler.cn/a/369070.html

相关文章:

  • python——文件存储与写入path
  • 医院信息化与智能化系统(10)
  • 大数据Azkaban(二):Azkaban简单介绍
  • javaScript整数反转
  • 基于python的马尔可夫模型初识
  • Python浪漫之画星星
  • [思考记录]做事别忘最初目的
  • 安全见闻(7)-上(网络安全热门证书介绍及备考指南)
  • 理解OAuth2与用户账户与授权UAA的关系
  • thinkadmin,点击列表导出excel
  • [NOIP2015 普及组] 求和
  • Go语言基础教程:函数
  • H5的Canvas绘图——使用fabricjs绘制一个可多选的随机9宫格
  • 微信小程序 - 深 / 浅拷贝实现方法,微信小程序深拷贝与浅拷贝,函数方法封装直接调用使用,深拷贝cloneDeep和浅拷贝clone(深复制和浅复制)
  • C++ TensorRT yolov8
  • C++和Java该如何进行选择?
  • dmsql日志分析工具部署与使用DM8/DM7
  • 2024年9月 GESP CCF C++五级编程能力等级考试认证真题
  • 一个简单的 uas_send_bye.xml for SIPp
  • 2025秋招八股文--Redis篇
  • 阿里云环境下用docker搭建redis主从复制
  • Nodejs使用pkg打包为可执行文件
  • FLINK 分流
  • STM32软件模拟I2C的实现方式(一)
  • 常用设计模式总结
  • conda虚拟环境中安装cuda方法、遇到的问题