Quellcode durchsuchen

feat: 登录密码加密

ai0197 vor 4 Monaten
Ursprung
Commit
26b14780ba
3 geänderte Dateien mit 12 neuen und 0 gelöschten Zeilen
  1. 1 0
      package.json
  2. 4 0
      src/components/Login/components/BaseLogin.vue
  3. 7 0
      src/utils/pwd.ts

+ 1 - 0
package.json

@@ -40,6 +40,7 @@
     "@wangeditor/editor-for-vue": "5.1.12",
     "animate.css": "4.1.1",
     "axios": "0.27.2",
+    "blueimp-md5": "2.19.0",
     "cropperjs": "1.5.12",
     "dayjs": "1.11.4",
     "echarts": "5.5.0",

+ 4 - 0
src/components/Login/components/BaseLogin.vue

@@ -55,8 +55,11 @@
   import { ref, reactive } from 'vue';
   import { ElMessage } from 'element-plus';
   import type { FormInstance } from 'element-plus';
+  import md5 from 'blueimp-md5';
   import exitIcon from 'assets/svg/exit.svg';
   import { useUserStore } from '@/store/modules/user';
+  import { PWD_KEY } from '@/utils/pwd';
+
   const props = defineProps<{ title: string }>();
 
   const userStore = useUserStore();
@@ -73,6 +76,7 @@
     formRef.value.validate((valid: boolean) => {
       if (valid) {
         console.log('valid', formValue);
+        formValue.password = md5(PWD_KEY + formValue.password);
         userStore
           .login(formValue)
           .then(() => {

+ 7 - 0
src/utils/pwd.ts

@@ -0,0 +1,7 @@
+const PWD_KEY = 'NavieAdmin_';
+
+// 中密码正则(字母+数字,可含特殊字符)
+const PWD_REGEXP = /^(?=.*[a-zA-Z])(?=.*\d)[a-zA-Z0-9!@#$%^&*`~()-+=]{6,18}$/;
+const checkPwdRegexp = (pwd: string) => PWD_REGEXP.test(pwd);
+
+export { PWD_KEY, PWD_REGEXP, checkPwdRegexp };