feat:添加AES加密方法
Showing
5 changed files
with
38 additions
and
3 deletions
... | @@ -6055,6 +6055,11 @@ | ... | @@ -6055,6 +6055,11 @@ |
6055 | "randomfill": "^1.0.3" | 6055 | "randomfill": "^1.0.3" |
6056 | } | 6056 | } |
6057 | }, | 6057 | }, |
6058 | "crypto-js": { | ||
6059 | "version": "4.0.0", | ||
6060 | "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.0.0.tgz", | ||
6061 | "integrity": "sha512-bzHZN8Pn+gS7DQA6n+iUmBfl0hO5DJq++QP3U6uTucDtk/0iGpXd/Gg7CGR0p8tJhofJyaKoWBuJI4eAO00BBg==" | ||
6062 | }, | ||
6058 | "css-color-names": { | 6063 | "css-color-names": { |
6059 | "version": "0.0.4", | 6064 | "version": "0.0.4", |
6060 | "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", | 6065 | "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", | ... | ... |
... | @@ -14,6 +14,7 @@ | ... | @@ -14,6 +14,7 @@ |
14 | "axios": "^0.18.1", | 14 | "axios": "^0.18.1", |
15 | "captcha-mini": "^1.1.0", | 15 | "captcha-mini": "^1.1.0", |
16 | "core-js": "^2.6.11", | 16 | "core-js": "^2.6.11", |
17 | "crypto-js": "^4.0.0", | ||
17 | "echarts": "^4.8.0", | 18 | "echarts": "^4.8.0", |
18 | "element-ui": "^2.13.2", | 19 | "element-ui": "^2.13.2", |
19 | "js-cookie": "^2.2.1", | 20 | "js-cookie": "^2.2.1", | ... | ... |
... | @@ -50,7 +50,7 @@ export default new Vuex.Store({ | ... | @@ -50,7 +50,7 @@ export default new Vuex.Store({ |
50 | const { username, password } = userinfo | 50 | const { username, password } = userinfo |
51 | const res = await login({ | 51 | const res = await login({ |
52 | username: username.trim(), | 52 | username: username.trim(), |
53 | password: password | 53 | password |
54 | }) | 54 | }) |
55 | if (res.code === 0) { | 55 | if (res.code === 0) { |
56 | commit('SET_ROLES', res.result.role) | 56 | commit('SET_ROLES', res.result.role) | ... | ... |
src/utils/aes.js
0 → 100644
1 | import CryptoJS from 'crypto-js' | ||
2 | |||
3 | const AES_KEY = '94a80df2633b4944' | ||
4 | |||
5 | export function aesEncode(str) { | ||
6 | const key = CryptoJS.enc.Utf8.parse(AES_KEY) | ||
7 | const word = CryptoJS.enc.Utf8.parse(str) | ||
8 | |||
9 | const encrypted = CryptoJS.AES.encrypt(word, key, { | ||
10 | mode: CryptoJS.mode.ECB, | ||
11 | padding: CryptoJS.pad.Pkcs7 | ||
12 | }) | ||
13 | return encrypted.toString() | ||
14 | } | ||
15 | |||
16 | export function aesDecode(passPhrase) { | ||
17 | const key = CryptoJS.enc.Utf8.parse(AES_KEY) | ||
18 | const decrypt = CryptoJS.AES.decrypt(passPhrase, key, { | ||
19 | mode: CryptoJS.mode.ECB, | ||
20 | padding: CryptoJS.pad.Pkcs7 | ||
21 | }) | ||
22 | return CryptoJS.enc.Utf8.stringify(decrypt).toString() | ||
23 | } |
1 | <template lang="pug"> | 1 | <template lang="pug"> |
2 | .login | 2 | .login |
3 | LoginForm(class="login-card" ref="loginRef" @on-success-valid="handleLogin" :loading="btnLoading") | 3 | LoginForm.login-card( |
4 | ref='loginRef', | ||
5 | @on-success-valid='handleLogin', | ||
6 | :loading='btnLoading' | ||
7 | ) | ||
4 | </template> | 8 | </template> |
5 | <script> | 9 | <script> |
6 | import LoginForm from '_c/loginForm' | 10 | import LoginForm from '_c/loginForm' |
7 | import { mapActions, mapState, mapMutations } from 'vuex' | 11 | import { mapActions, mapState, mapMutations } from 'vuex' |
12 | import { aesEncode } from '@/utils/aes' | ||
8 | 13 | ||
9 | export default { | 14 | export default { |
10 | components: { | 15 | components: { |
... | @@ -28,6 +33,7 @@ export default { | ... | @@ -28,6 +33,7 @@ export default { |
28 | async handleLogin({ username, password }) { | 33 | async handleLogin({ username, password }) { |
29 | try { | 34 | try { |
30 | this.btnLoading = true | 35 | this.btnLoading = true |
36 | // const passPhrase = aesEncode(password) | ||
31 | const { code } = await this.login({ username, password }) | 37 | const { code } = await this.login({ username, password }) |
32 | if (code === 0) { | 38 | if (code === 0) { |
33 | this.$router.push({ path: '/' }) | 39 | this.$router.push({ path: '/' }) | ... | ... |
-
Please register or sign in to post a comment