VUE密码登陆加密RSA方案
有一个项目需求需要在前段登陆的时候把登录密码加密后发送,这个地方其实很简单,加密的时候可以使用md5、可以使用sha1,也可以使用现在这个方式加密,就简单记录一下没啥。
RSA是啥
RSA加密算法是一种 非对称加密算法 ,RSA加密使用了"一对"密钥.分别是公钥和私钥,这个公钥和私钥其实就是一组数字!其二进制位长度可以是1024位或者2048位.长度越长其加密强度越大,目前为止公之于众的能破解的最大长度为768位密钥,只要高于768位,相对就比较安全.所以目前为止,这种加密算法一直被广泛使用.
RSA加密与解密
使用 公钥 加密的数据,利用 私钥 进行解密。
使用 私钥 加密的数据,利用 公钥 进行解密。
安装依赖
vue使用rsa加密的时候首先需要安装一个依赖,帮助我们实现加密操作。
npm install jsencrypt
安装完就可以用了,如果安装失败用 cnpm
。
使用
创建一个方法,就是使用我们的密码加密用的。
passwordEncryption(passwordUser) {
let publicKey = this.secretKey // 从后台获取公钥,这个保存一下,在这里用。
console.log('后台公钥---------> ', publicKey)
let encryptor = new JSEncrypt() // 新建JSEncrypt对象
encryptor.setPublicKey(publicKey) // 设置公钥
let passwordEncryp = encryptor.encrypt(passwordUser) // 对密码进行加密
return passwordEncryp
},
然后在需要加密的地方使用就可以了。
let pwd = this.passwordEncryption(this.inputForm.password)