Browse Source

登录加密

seimin 1 year ago
parent
commit
d752915742
3 changed files with 31 additions and 0 deletions
  1. 11 0
      package-lock.json
  2. 1 0
      package.json
  3. 19 0
      src/views/Login.vue

+ 11 - 0
package-lock.json

@@ -9,6 +9,7 @@
9
       "version": "1.0.0",
9
       "version": "1.0.0",
10
       "dependencies": {
10
       "dependencies": {
11
         "axios": "^0.18.0",
11
         "axios": "^0.18.0",
12
+        "crypto-js": "^4.1.1",
12
         "cube-ui": "^1.12.10",
13
         "cube-ui": "^1.12.10",
13
         "js-base64": "^3.6.1",
14
         "js-base64": "^3.6.1",
14
         "less": "^3.9.0",
15
         "less": "^3.9.0",
@@ -2593,6 +2594,11 @@
2593
         "node": "*"
2594
         "node": "*"
2594
       }
2595
       }
2595
     },
2596
     },
2597
+    "node_modules/crypto-js": {
2598
+      "version": "4.1.1",
2599
+      "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz",
2600
+      "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
2601
+    },
2596
     "node_modules/css": {
2602
     "node_modules/css": {
2597
       "version": "2.2.4",
2603
       "version": "2.2.4",
2598
       "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz",
2604
       "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz",
@@ -17255,6 +17261,11 @@
17255
         "randomfill": "^1.0.3"
17261
         "randomfill": "^1.0.3"
17256
       }
17262
       }
17257
     },
17263
     },
17264
+    "crypto-js": {
17265
+      "version": "4.1.1",
17266
+      "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz",
17267
+      "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw=="
17268
+    },
17258
     "css": {
17269
     "css": {
17259
       "version": "2.2.4",
17270
       "version": "2.2.4",
17260
       "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz",
17271
       "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz",

+ 1 - 0
package.json

@@ -13,6 +13,7 @@
13
   },
13
   },
14
   "dependencies": {
14
   "dependencies": {
15
     "axios": "^0.18.0",
15
     "axios": "^0.18.0",
16
+    "crypto-js": "^4.1.1",
16
     "cube-ui": "^1.12.10",
17
     "cube-ui": "^1.12.10",
17
     "js-base64": "^3.6.1",
18
     "js-base64": "^3.6.1",
18
     "less": "^3.9.0",
19
     "less": "^3.9.0",

+ 19 - 0
src/views/Login.vue

@@ -27,6 +27,12 @@
27
 </template>
27
 </template>
28
 
28
 
29
 <script>
29
 <script>
30
+import {
31
+    AES,
32
+    mode,
33
+    pad,
34
+    enc
35
+  } from "crypto-js";
30
 // 注意事项:个人微信需要关注微工作台,否则会导致没有userId(userId为openID)登录失败
36
 // 注意事项:个人微信需要关注微工作台,否则会导致没有userId(userId为openID)登录失败
31
 import { decode } from "js-base64";
37
 import { decode } from "js-base64";
32
 import LoadIng from "./../views/loading.vue";
38
 import LoadIng from "./../views/loading.vue";
@@ -199,6 +205,16 @@ export default {
199
         }
205
         }
200
       });
206
       });
201
     },
207
     },
208
+    //aes加密-登录
209
+    encryptByEnAESLogin(data) {
210
+      data = enc.Utf8.parse(data);
211
+      let Key = enc.Utf8.parse('Aes2Util666AQWER');
212
+      let tmpAES = AES.encrypt(data, Key, {
213
+        mode: mode.ECB,
214
+        padding: pad.Pkcs7,
215
+      });
216
+      return tmpAES.toString();
217
+    },
202
     // 账号密码登录
218
     // 账号密码登录
203
     zlogin() {
219
     zlogin() {
204
       console.log(this);
220
       console.log(this);
@@ -213,6 +229,9 @@ export default {
213
       var postData = this.isSSo
229
       var postData = this.isSSo
214
         ? { username: ssoJson.a, password: ssoJson.u, t: false }
230
         ? { username: ssoJson.a, password: ssoJson.u, t: false }
215
         : { username: this.zhanghao, password: this.mima };
231
         : { username: this.zhanghao, password: this.mima };
232
+      postData = {
233
+        k: this.encryptByEnAESLogin(JSON.stringify(postData))
234
+      };
216
       this.$http.post("service/auth/loginEncrypt", postData).then((res) => {
235
       this.$http.post("service/auth/loginEncrypt", postData).then((res) => {
217
         that.loading = false;
236
         that.loading = false;
218
         if (res.data && res.data.state == 200) {
237
         if (res.data && res.data.state == 200) {