vue登陆修改密码等加密(禁止明文传输)

1.下载加密插件,终端运行

复制代码
yarn add jsencrypt

2.配置加密信息文件rsaEncrypt.js放到utils中,代码如下

复制代码
import JSEncrypt from 'jsencrypt/bin/jsencrypt'

// 密钥对生成网址 http://web.chacuo.net/netrsakeypair

const publicKey = 'MIGfMA0GCSqGSIb3DQEBxxxxxxxxxxxx'

const privateKey = 'MIICdgIBADANBgxxxxxxxxx'

// 加密方法
export function encrypt(txt) {
  const encryptor = new JSEncrypt()
  encryptor.setPublicKey(publicKey) // 设置公钥
  return encryptor.encrypt(txt) // 对需要加密的数据进行加密
}

// 解密方法
export function decrypt(txt) {
  const encryptor = new JSEncrypt()
  encryptor.setPrivateKey(privateKey)
  return encryptor.decrypt(txt)
}

3.登陆 ,修改密码等地方使用,注意后端也要对应配置

复制代码
import { encrypt } from "@utils/rsaEncrypt";  


const toLogin = ()=>{

proxy.$refs.loginFormRef.validate((valid) => {
    const form = {
      account: loginForm.account,
      password: encrypt(loginForm.password),
      rememberMe: loginForm.rememberMe,
      code: loginForm.code,
      uuid: loginForm.uuid,
    };
    if (valid) {
      state.loading = true;
      userStore
        .login(form)
        .then(() => {
          state.loading = false;
          router.push({ path: proxy.$route.query?.redirect || "/index" });
        })
        .catch(() => {
          state.loading = false;
          getCode();
        });
    }
  });
}
相关推荐
鹏多多2 分钟前
vue计算属性computed的详解
前端·javascript·vue.js
JarvanMo3 分钟前
Flutter 应用安全清单
前端
浩男孩6 分钟前
🍀实际开发中没想到 computed 在表单中还能这么使用🚀🚀
前端·vue.js
月下点灯9 分钟前
uniapp仿抖音评论区popup对话框实现(多端兼容)
前端·javascript·vue.js
江城开朗的豌豆18 分钟前
React的渲染时机:聊透虚拟DOM的更新机制
前端·javascript·react.js
anyup25 分钟前
🔥🔥 uView Pro:Vue3+TS重构的uni-app开源组件库,文档免费无广告!
前端·vue.js·uni-app
CodeSheep35 分钟前
我天,Java 已沦为老四。。
前端·后端·程序员
掘金安东尼1 小时前
使用 Web Components 与 CSS Modules 构建原生应用架构
javascript·后端·面试
前端小巷子1 小时前
Vue 逻辑抽离全景解析
前端·vue.js·面试
excel1 小时前
前端事件机制入门到精通:事件流、冒泡捕获与事件委托全解析
前端