diff --git a/src/utils/crypt.js b/src/utils/crypt.js new file mode 100644 index 0000000000000000000000000000000000000000..540ced6d18279e29ffc3e78ee2a0929c14bf9528 --- /dev/null +++ b/src/utils/crypt.js @@ -0,0 +1,25 @@ +const SM4 = require("gm-crypt").sm4; +export default function(params) { + if (typeof params == "undefined") { + params = null; + } + // 动æ€ç”Ÿæˆkey + const nowDate = new Date(); + const m = dateZero(nowDate.getMonth() + 1); + const d = dateZero(nowDate.getDate()); + const key = `Nanyan@s${nowDate.getFullYear()}${m}${d}`; + let sm4Config = { + //é…ç½®sm4傿•° + key, // key + mode: "ecb", // åŠ å¯†çš„æ–¹å¼æœ‰ä¸¤ç§ï¼Œecbå’Œcbc两ç§ï¼Œcbcçš„è¯ä¸‹é¢è¿˜è¦åŠ ä¸€ä¸ªivçš„å‚æ•°ï¼Œecbä¸ç”¨ + cipherType: "text" + }; + let sm4 = new SM4(sm4Config); + let encryptData = sm4.encrypt(params); + + return encryptData.trim(); +} + +function dateZero(num) { + return num < 10 ? "0" + num : num; +} diff --git a/src/views/author/forget.vue b/src/views/author/forget.vue index 28ed6b7edf0fa8b4eda3c4c86b8b3398e69db65e..3bc3688eec30a295de8006a14490e9bebc6e38a4 100644 --- a/src/views/author/forget.vue +++ b/src/views/author/forget.vue @@ -70,6 +70,7 @@ </template> <script> +import encrypt from '@/utils/crypt' export default { data() { return { @@ -123,7 +124,7 @@ export default { return false; } const { userName, verificationCode, newPwd } = this.form; - this._reset({ userName, verificationCode, newPwd }); + this._reset({ userName, verificationCode, newPwd:encrypt(newPwd) }); }); }, //æ ¡éªŒç”¨æˆ·é‚®ç®± diff --git a/src/views/author/login.vue b/src/views/author/login.vue index dc58483a1ef52a6d694fec8ae970957cd59b4778..97fffb548d0b99b5f122847e4b239cb23dbc552a 100644 --- a/src/views/author/login.vue +++ b/src/views/author/login.vue @@ -45,6 +45,7 @@ <script> import { title } from "@/settings"; import { downloadFile } from '@/utils/index' +import encrypt from '@/utils/crypt' export default { data() { return { @@ -81,7 +82,7 @@ export default { }); }, _login() { - this.$apis.LOGIN(this.form).then((res) => { + this.$apis.LOGIN({...this.form,passWord:encrypt(this.form.passWord)}).then((res) => { if (res.returnCode === "0000") { this.$store.commit("common/setUserInfo", res.content); const path = this.$route.query && this.$route.query.redirect || "/home";