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();
        });
    }
  });
}
相关推荐
Domain-zhuo11 分钟前
Git和SVN有什么区别?
前端·javascript·vue.js·git·svn·webpack·node.js
雪球不会消失了16 分钟前
SpringMVC中的拦截器
java·开发语言·前端
李云龙I27 分钟前
解锁高效布局:Tab组件最佳实践指南
前端
m0_7482370531 分钟前
Monorepo pnpm 模式管理多个 web 项目
大数据·前端·elasticsearch
JinSoooo33 分钟前
pnpm monorepo 联调方案
前端·pnpm·monorepo
m0_7482449642 分钟前
【AI系统】LLVM 前端和优化层
前端·状态模式
明弟有理想42 分钟前
Chrome RCE 漏洞复现
前端·chrome·漏洞·复现
平行线也会相交43 分钟前
云图库平台(二)前端项目初始化
前端·vue.js·云图库平台
shimmer00844 分钟前
抖音小程序登录(前端通过tt.login获取code换取openId)
前端·小程序·状态模式
ai产品老杨1 小时前
报警推送消息升级的名厨亮灶开源了。
vue.js·人工智能·安全·开源·音视频