使用接口传输密码时,加密是必要的,使用rsa加密,需要前端请求一个后端的公钥,通过公钥来实现加密,再返回后端一个加密密码
正常用创建文件引入的方法会因为vue3的导入方式而报错,所以我们使用npm安装
npm install jsencrypt
安装好后先创建一个封装好的rsa方法
import { JSEncrypt } from 'jsencrypt'
// key 是 加密公钥,我是登录的时候获取
// 加密
export function rsaEncrypt (msg,key) {
const jsencrypt = new JSEncrypt()
jsencrypt.setPublicKey(key)
const encryptMsg = jsencrypt.encrypt(msg)
return encryptMsg
}
// 解密私钥
const privateKey = ``
// 解密
export function rsaDecrypt (msg) {
const decrypt = new JSEncrypt()
decrypt.setPrivateKey(privateKey)
const decryptMsg = decrypt.decrypt(msg)
return decryptMsg
}
在登录的时候如何使用呢,举一个例子
login(config) {
console.log(config);
uni.showLoading({
title: '发送中'
});
//登录时从后端获取公钥
getkey().then(res=>{
console.log(res);
var data = {
'account':config.phone,
'password':rsaEncrypt(config.password,res.data.msg)
}
//这是登录接口
account(data).then(res=>{
console.log(res);
})
})
},
这样传输过去的密码就进行了加密