• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

js使用RSA加解密解决方案

武飞扬头像
木屋x
帮助1

js中使用RSA加解密解决方案总结

1.需求背景
  • 最近开发vue项目中,对于用户手机号码需要进行RSA加解密操作。
  • 简介:RSA加密,是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。
  • RSA是被研究得最广泛的公钥算法,从提出到现在已近三十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。1983年麻省理工学院在美国为RSA算法申请了专利。
解决方案
  • 考虑到使用的便捷,这里需要用到jsencrypt插件,使用如下:

  • 
    // 1、安装pinyin-pro(推荐使用淘宝镜像):
    npm install jsencrypt --save
    
    // 2、在项目中引入:
    import JSEncrypt from 'jsencrypt'
    
    // 3、加密(origin:原始text,key:公钥)
    const encryptMI = (origin, key) => {
      const encrypt = new JSEncrypt()
      encrypt.setPublicKey(key)
      return encrypt.encrypt(origin)
    }
    
    // 4、解密(origin:加密text,key:私钥)
    const decryptMI = (cipher, key) => {
      const decrypt = new JSEncrypt()
      decrypt.setPrivateKey(key)
      return decrypt.decrypt(cipher)
    }
    
    
  • 解决。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghahih
系列文章
更多 icon
同类精品
更多 icon
继续加载