From 6a06c4a93cdd67bd6fbe4dd64b3185a9b8e27c88 Mon Sep 17 00:00:00 2001 From: zhengjie <201507802@qq.com> Date: Sat, 29 Jun 2019 17:11:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E8=AE=B0=E4=BD=8F=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96=EF=BC=8C=E5=AF=86?= =?UTF-8?q?=E7=A0=81RSA=E5=8A=A0=E5=AF=86=E5=AD=98cookie=EF=BC=8CRSA?= =?UTF-8?q?=E8=A7=A3=E5=AF=86=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 27 ++++++++++++++------------- src/store/modules/user.js | 3 ++- src/utils/rsaEncrypt.js | 30 ++++++++++++++++++++++++++++++ src/views/login.vue | 20 ++++++++++++++++++-- 4 files changed, 64 insertions(+), 16 deletions(-) create mode 100644 src/utils/rsaEncrypt.js diff --git a/package.json b/package.json index f3a17cc..4ca462c 100644 --- a/package.json +++ b/package.json @@ -17,27 +17,28 @@ "url": "https://github.com/elunez/eladmin-qd" }, "dependencies": { + "@riophae/vue-treeselect": "0.0.38", "axios": ">=0.18.1", - "element-ui": "2.4.6", - "connect": "3.6.6", - "js-cookie": "2.2.0", - "normalize.css": "7.0.0", "clipboard": "1.7.1", + "codemirror": "^5.38.0", + "connect": "3.6.6", + "echarts": "4.1.0", + "element-ui": "2.4.6", + "file-saver": "1.3.8", + "js-cookie": "2.2.0", + "jsencrypt": "^3.0.0-rc.1", + "jszip": "3.1.5", + "mavon-editor": "^2.7.0", + "normalize.css": "7.0.0", "nprogress": "0.2.0", + "path-to-regexp": "2.4.0", + "screenfull": "3.3.3", "vue": "2.5.17", "vue-count-to": "1.0.13", - "echarts": "4.1.0", - "screenfull": "3.3.3", "vue-router": "3.0.2", "vuex": "3.0.1", - "xlsx": "^0.11.16", - "jszip": "3.1.5", - "@riophae/vue-treeselect": "0.0.38", - "file-saver": "1.3.8", "wangeditor": ">=3.0.0", - "codemirror": "^5.38.0", - "mavon-editor": "^2.7.0", - "path-to-regexp": "2.4.0" + "xlsx": "^0.11.16" }, "devDependencies": { "autoprefixer": "8.5.0", diff --git a/src/store/modules/user.js b/src/store/modules/user.js index bfac849..1a3881b 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,5 +1,6 @@ import { login, getInfo } from '@/api/login' import { getToken, setToken, removeToken } from '@/utils/auth' +import { decrypt } from '@/utils/rsaEncrypt' const user = { state: { @@ -29,7 +30,7 @@ const user = { // 登录 Login({ commit }, userInfo) { const username = userInfo.username - const password = userInfo.password + const password = decrypt(userInfo.password) const code = userInfo.code const uuid = userInfo.uuid const rememberMe = userInfo.rememberMe diff --git a/src/utils/rsaEncrypt.js b/src/utils/rsaEncrypt.js new file mode 100644 index 0000000..83db480 --- /dev/null +++ b/src/utils/rsaEncrypt.js @@ -0,0 +1,30 @@ +import JSEncrypt from 'jsencrypt/bin/jsencrypt' + +// 密钥对生成 http://web.chacuo.net/netrsakeypair + +const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' + + '2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ==' + +const privateKey = 'MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEA0vfvyTdGJkdbHkB8\n' + + 'mp0f3FE0GYP3AYPaJF7jUd1M0XxFSE2ceK3k2kw20YvQ09NJKk+OMjWQl9WitG9p\n' + + 'B6tSCQIDAQABAkA2SimBrWC2/wvauBuYqjCFwLvYiRYqZKThUS3MZlebXJiLB+Ue\n' + + '/gUifAAKIg1avttUZsHBHrop4qfJCwAI0+YRAiEA+W3NK/RaXtnRqmoUUkb59zsZ\n' + + 'UBLpvZgQPfj1MhyHDz0CIQDYhsAhPJ3mgS64NbUZmGWuuNKp5coY2GIj/zYDMJp6\n' + + 'vQIgUueLFXv/eZ1ekgz2Oi67MNCk5jeTF2BurZqNLR3MSmUCIFT3Q6uHMtsB9Eha\n' + + '4u7hS31tj1UWE+D+ADzp59MGnoftAiBeHT7gDMuqeJHPL4b+kC+gzV4FGTfhR9q3\n' + + 'tTbklZkD2A==' + +// 加密 +export function encrypt(txt) { + const encryptor = new JSEncrypt() + encryptor.setPublicKey(publicKey) // 设置公钥 + return encryptor.encrypt(txt) // 对需要加密的数据进行加密 +} + +// 解密 +export function decrypt(txt) { + const encryptor = new JSEncrypt() + encryptor.setPrivateKey(privateKey) + return encryptor.decrypt(txt) +} + diff --git a/src/views/login.vue b/src/views/login.vue index 2fe9924..b8c78da 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -20,7 +20,7 @@ - 记住密码 + 记住我 登 录 @@ -28,6 +28,7 @@ +