vue 中使用 RSA 加密

1,840 阅读2分钟

说明:后台提供加密公钥,前端把密码加密传给后台

1.首先需要我们使用vue框架配置下载依赖包

npm install jsencrypt --save

2.接下来需要在vue入口文件main.js中引入

import {JSEncrypt} from 'jsencrypt'

Vue.prototype.$jsEncrypt = JSEncrypt

3.然后需要我们在assets/创建文件夹js/创建文件jsencryptKey.js

import Vue from 'vue'
// 加密方法  公钥
Vue.prototype.$getCode = function (password) {
  let encrypt = new JSEncrypt()
  encrypt.setPublicKey('后台给的公钥')
  let data = encrypt.encrypt(password)
  return data
}
//    解密方法 私钥
Vue.prototype.$decryptCode = function (password) {
  let encrypt = new JSEncrypt()
  encrypt.setPublicKey('后台给的私钥')
  let data = encrypt.decrypt(password)
  return data
}

4.在自己的页面中再次引用

import '../../assets/js/jsencryptKey'

let RSApassword = this.$getCode(this.password)

RSA加密算法

RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

1973年,在英国政府通讯总部工作的数学家克利福德·柯克斯(Clifford Cocks)在一个内部文件中提出了一个与之等效的算法,但该算法被列入机密,直到1997年才得到公开。

对极大整数做因数分解的难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用RSA加密的信息的可靠性就会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的RSA钥匙才可能被强力方式破解。到当前为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被破解的。

1983年9月12日麻省理工学院在美国为RSA算法申请了专利。这个专利于2000年9月21日失效。由于该算法在申请专利前就已经被发表了,在世界上大多数其它地区这个专利权不被承认。 ---维基百科