88207ae8 by zhen

feat:添加AES加密方法

1 parent d75a8525
...@@ -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)
......
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: '/' })
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!