登陆加密

This commit is contained in:
jingna 2025-06-19 11:54:47 +08:00
parent fb487b3ac7
commit 9f90c0b11a
3 changed files with 35 additions and 2 deletions

View File

@ -0,0 +1,29 @@
import JSEncrypt from 'jsencrypt/bin/jsencrypt.min'
// 密钥对生成 http://web.chacuo.net/netrsakeypair
const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' +
'2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ=='
const privateKey = 'MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8\n' +
'mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9p\n' +
'B6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue\n' +
'/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZ\n' +
'UBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6\n' +
'vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha\n' +
'4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3\n' +
'tTbklZkD2A=='
// 加密
export function encrypt(txt:string) {
const encryptor = new JSEncrypt()
encryptor.setPublicKey(publicKey) // 设置公钥
return encryptor.encrypt(txt) // 对需要加密的数据进行加密
}
// 解密
export function decrypt(txt:string) {
const encryptor = new JSEncrypt()
encryptor.setPrivateKey(privateKey)
return encryptor.decrypt(txt)
}

View File

@ -5,6 +5,7 @@ import { ElMessage } from 'element-plus'
import { useRoute, useRouter } from 'vue-router'
import { userLogin } from '@/api/data-visualization/manage/user'
import { useCache } from '@/data-visualization/hooks/web/useCache'
import { encrypt,decrypt } from '@/utils/rsaEncrypt';
const { wsCache } = useCache()
const router = useRouter()
const route = useRoute()
@ -34,10 +35,11 @@ const submitForm = async (formEl: FormInstance | undefined) => {
if (!formEl) return
await formEl.validate((valid, fields) => {
if (valid) {
var password = encrypt(form.value.password)
const params = {
appid:props.id,
username: form.value.username,
password: form.value.password
password: password
}
userLogin(params).then((res:any) => {
if(res.code == '0'){

View File

@ -11,6 +11,7 @@ import defaultTemplate from '@/views/system/userlogin/login.vue?raw'
// import { moduleList, moduleById } from '@/api/application/module'
import { userLogin } from '@/api/data-visualization/manage/user'
import { useCache } from '@/data-visualization/hooks/web/useCache'
import { encrypt,decrypt } from '@/utils/rsaEncrypt';
const route = useRoute()
const router = useRouter()
const sfcCode = ref(defaultTemplate)
@ -47,7 +48,8 @@ const runCode = async () => {
'vue/dist/vue.esm-bundler.js': Vue,
'vue-router': VueRouter,
'@/api/data-visualization/manage/user': { userLogin },
'@/data-visualization/hooks/web/useCache': { useCache }
'@/data-visualization/hooks/web/useCache': { useCache },
'@/utils/rsaEncrypt':{ encrypt,decrypt }
},
getFile: async (fileName:any) => {
if (fileName.startsWith('@/')) {