uniapp/vue3中使用rsa加密来传输密码,引入问题解决

使用接口传输密码时,加密是必要的,使用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);
                })
        })
},

这样传输过去的密码就进行了加密

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值