赞
踩
使用接口传输密码时,加密是必要的,使用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);
- })
- })
- },
这样传输过去的密码就进行了加密
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。