前端在登录时将用户密码加密
最近发现有个新的加密方法rsa,RSA是一种非对称加密,也就是客户端通过公钥进行加密,服务端通过私钥进行解密,也就是说公钥并不能进行解密,因此进行明文传输也是安全的。
加密流程:服务端生成一组公钥与私钥,将公钥发送给客户端进行密码加密,在使用密钥进行解密
1. 首先下载npm install jsencrypt
,然后新建一个js文件 jsencryptKey.js
// rsa加密
import JsEncrypt from 'jsencrypt'
export default (app) => {
app.config.globalProperties.$encruption = function(obj) {
const encrypt = new JsEncrypt()
encrypt.setPublicKey(`-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+3KLwjM7fmh5loWVzJO+V3VRF
qorVcooli5/VQY0T1YsL8gAH3F0WCDlW2XyPo9u6aQ7gFOQzmAIPL3smEv6CygmZ
bGegAtw1P41A+JfltiZuWCZLzUflERa8GghQo0TCBahOITvjF0QMeBuEfUYNdCzI
iz3UGV4FNnf75VZCyQIDAQAB
-----END PUBLIC KEY-----`)
return encrypt.encrypt(obj)
}
}
2. main.js中引入js文件并注册
3. 在登录的页面中,从vue中引入getCurrentInstance
最后可以完成用户输入的密码加密了