Commit 87bd4d12 authored by mengmeng's avatar mengmeng

增加加密传输

parent ef503eaa
...@@ -72,52 +72,35 @@ export default { ...@@ -72,52 +72,35 @@ export default {
}; };
}, },
computed: { computed: {
dataRule() { dataRule () {
var validateConfirmPassword = (rule, value, callback) => {
if (this.dataForm.newPassword !== value) {
return callback(
new Error(this.$t("updatePassword.validate.confirmPassword"))
);
}
callback();
};
var validateNewPass = (rule, value, callback) => { var validateNewPass = (rule, value, callback) => {
const reg = const reg = /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[\W])(?=.*[\S])^[0-9A-Za-z\S]{8,18}$/g
/(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[\W])(?=.*[\S])^[0-9A-Za-z\S]{8,18}$/g;
if (!reg.test(value)) { if (!reg.test(value)) {
callback(new Error("密码应该为8-18位大小字母、数字、特殊字符组合")); callback(new Error("密码必须由8-18位大小字母、数字、特殊字符组合"))
} else { } else {
callback(); callback()
}
}
var validateConfirmPassword = (rule, value, callback) => {
if (this.dataForm.newPassword !== value) {
return callback(new Error(this.$t('updatePassword.validate.confirmPassword')))
}
callback()
} }
};
return { return {
password: [ password: [
{ { required: true, message: this.$t('validate.required'), trigger: 'blur' }
required: true,
message: this.$t("validate.required"),
trigger: "blur",
},
], ],
newPassword: [ newPassword: [
{ { required: true, message: this.$t('validate.required'), trigger: 'blur' },
required: true, { validator: validateNewPass, trigger: 'blur' }
message: this.$t("validate.required"),
trigger: "blur",
},
{ validator: validateNewPass, trigger: "blur" },
], ],
confirmPassword: [ confirmPassword: [
{ { required: true, message: this.$t('validate.required'), trigger: 'blur' },
required: true, { validator: validateConfirmPassword, trigger: 'blur' }
message: this.$t("validate.required"), ]
trigger: "blur", }
}, }
{ validator: validateConfirmPassword, trigger: "blur" },
],
};
},
}, },
methods: { methods: {
init() { init() {
......
...@@ -132,6 +132,7 @@ import Cookies from "js-cookie"; ...@@ -132,6 +132,7 @@ import Cookies from "js-cookie";
import debounce from "lodash/debounce"; import debounce from "lodash/debounce";
import { messages } from "@/i18n"; import { messages } from "@/i18n";
import { getUUID } from "@/utils"; import { getUUID } from "@/utils";
import crypto from '@/utils/crypto';
export default { export default {
data() { data() {
return { return {
...@@ -174,8 +175,18 @@ export default { ...@@ -174,8 +175,18 @@ export default {
}, },
created() { created() {
this.getCaptcha(); this.getCaptcha();
this.getCryptoKey();
}, },
methods: { methods: {
// 获取加密密钥
getCryptoKey () {
this.$http.get('/getCryptoKey').then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.dataForm.cryptoKey = res.data
}).catch(() => {})
},
// 获取验证码 // 获取验证码
getCaptcha() { getCaptcha() {
this.dataForm.uuid = getUUID(); this.dataForm.uuid = getUUID();
...@@ -188,11 +199,20 @@ export default { ...@@ -188,11 +199,20 @@ export default {
if (!valid) { if (!valid) {
return false; return false;
} }
let Base64 = require("js-base64").Base64; // let Base64 = require("js-base64").Base64;
// this.dataForm.password = this.$md5(this.dataForm.password); // this.dataForm.password = this.$md5(this.dataForm.password);
this.dataForm.password = Base64.encode(this.dataForm.password); // this.dataForm.password = Base64.encode(this.dataForm.password);
// 对数据进行加密传输
let key = crypto.decrypt(this.dataForm.cryptoKey)
let dataForm2 = {
username: crypto.encrypt(this.dataForm.username, key),
password: crypto.encrypt(this.dataForm.password, key),
cryptoKey: this.dataForm.cryptoKey,
uuid: this.dataForm.uuid,
captcha: this.dataForm.captcha
}
this.$http this.$http
.post("/login", this.dataForm) .post('/login', { ...dataForm2 })
.then(({ data: res }) => { .then(({ data: res }) => {
if (res.code !== 0) { if (res.code !== 0) {
this.getCaptcha(); this.getCaptcha();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment