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();
        });
    }
  });
}
相关推荐
hkNaruto1 小时前
【AI】基于大模型的AI游戏地图生成、控制方案:AI Native Game Harness 迁移操作手册
前端·人工智能·游戏
IT_陈寒1 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
Acro1 小时前
快给macOS 上的Grok Bot换一套皮肤
前端
flash俊杰1 小时前
双引擎 OCR 编排:逐页判定、视觉优先、partial 语义与三层超时
前端
计算机魔术师1 小时前
Reddit 每周被 Google 偷走 100 万次点击,CEO 摊牌了
前端
前端繁华如梦1 小时前
用 React Three Fiber 做一栋能编辑的教学楼数字孪生
前端
前端繁华如梦1 小时前
用 React Three Fiber 做一套智慧医院数字孪生:编辑器、大屏和 BIM 浏览器
前端
俊昭喜喜里3 小时前
理解全局跨域CORS配置
前端
香芋芋圆3 小时前
iD-editor 详解|OSM官方在线编辑器,基于D3.js的轻量地图编辑器
开发语言·javascript·编辑器
晗夜未央5 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript