whyczyk
2022-03-05 23648de09aac35a2c1c5c223c9ca794cef6089d6
登录加密功能添加
3个文件已修改
3个文件已添加
64 ■■■■■ 已修改文件
package-lock.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/const/const_num.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/tools/RSA.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/tools/formatPassword.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/login/js/api.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json
@@ -6443,6 +6443,11 @@
      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
      "dev": true
    },
    "jsencrypt": {
      "version": "3.2.1",
      "resolved": "https://registry.npmjs.org/jsencrypt/-/jsencrypt-3.2.1.tgz",
      "integrity": "sha512-k1sD5QV0KPn+D8uG9AdGzTQuamt82QZ3A3l6f7TRwMU6Oi2Vg0BsL+wZIQBONcraO1pc78ExMdvmBBJ8WhNYUA=="
    },
    "jsesc": {
      "version": "2.5.2",
      "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891161295&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz",
package.json
@@ -11,6 +11,7 @@
    "core-js": "^3.6.5",
    "echarts": "^4.8.0",
    "js-md5": "^0.7.3",
    "jsencrypt": "^3.2.1",
    "vant": "^2.12.44",
    "vue": "^2.6.11",
    "vue-router": "^3.2.0",
src/assets/js/const/const_num.js
New file
@@ -0,0 +1,14 @@
export default {
  privateKey: "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAI+kneP5IdDr2Wqr5KF"+
    "Xt14DjRj7ytitrquvhF44n5QTt6Ty2wkmtzLXEw7VKimEl0ddfBI1tlaGclb0aUirVSboimWTAVz8C3Kh4kM/cQm1RmAjkfp"+
    "9LPQE8sUefXwLQ3HPUGvXT1TTsOpB0yxqtwGYpdhDD7ahk7PQqkDlvQVrAgMBAAECgYA8ASdX4W2n6a4kKnRSleLqqg8aHazqAP"+
    "vTinmAJqU65VW02SJ42yxyV3gFnTSErXfIfxviO3/U+0ruWiFVEwV5oDEh0dOd+HHGm4YzFXIRglMeRBgLuVJ+owzoVDwZsti"+
    "IBa69DIjaJtmpSf5FjwxAth+gtCv3e11IXHraKN720QJBAMPMB1WtmpRGYHxWVYjKSL+RGw+h3gMQLk3exZjhmYRlXuqfVZ2Zol+NazDc59"+
    "K5f+geMdJ0/X2kKnKLVjWzYHMCQQC7z1cFYswtLemxGfj+dwlVC01VL4pKa7HGHl/FAQ2UNYZY2d5hE/nXYbTpfI0gMowX926/aFpia7Nb"+
    "AUJO7WEpAkAyUFa+LJthaOhYazMVsK2bFKW4kabkcJ8Fga6TR73UaNxIPGOa2SUBmuylpM6ptuNoeYHiDBAr3ijOQIIJ0KuDAkBy9fPahCNe9F+73"+
    "J4hhVPdDtIDdto7u7hSAX215XMeabUW5iXNXqDsSg6nbWolb0t50CemWoYZALwE1Lx1+7AhAkEAoZtFt+2skjAxHEqNUye4vKBqB2Ng/wmfitCfT34"+
    "lXWQsxs4BGk/8eQMzkam9bcB7FcinolxHF/1UjsUYpI+AgA==",
  //privateKey: "",
  publicKey: "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCPpJ3j+SHQ69lqq+ShV7deA40Y+8rYra6rr4ReOJ+UE7ek8tsJJrcy1xMO1SophJdH"+
    "XXwSNbZWhnJW9GlIq1Um6IplkwFc/AtyoeJDP3EJtUZgI5H6fSz0BPLFHn18C0Nxz1Br109U07DqQdMsarcBmKXYQw+2oZOz0KpA5b0FawIDAQAB"
}
src/assets/js/tools/RSA.js
New file
@@ -0,0 +1,32 @@
import {JSEncrypt} from "jsencrypt";
import const_num from "@/assets/js/const/const_num";
export default {
  /**
   * 非对称加密算法-加密
   * @param word  需要加密的字符串
   * @returns {string | false}
   */
  encrypt(word) {
    let encryptor = new JSEncrypt();
    let publicKey = const_num.publicKey;
    encryptor.setPublicKey(publicKey);
    let rsaPassWord = encryptor.encrypt(word);
    return rsaPassWord;
  },
  /**
   * 非对称加密算法-解密
   * @param word
   * @param privateKey
   * @returns {string | false}
   */
  decrypt(word, privateKey) {
    if(!privateKey) {
      return "请写入私钥";
    }
    let decrypt = new JSEncrypt();
    decrypt.setPrivateKey(privateKey);
    let getWord = decrypt.decrypt(word);
    return getWord;
  }
}
src/assets/js/tools/formatPassword.js
New file
@@ -0,0 +1,9 @@
import md5 from "js-md5";
import RSA from "@/assets/js/tools/RSA";
function formatPassword(pwd) {
  let password = pwd+"&&&&&&&&&&"+md5(pwd);
  return RSA.encrypt(password);
}
export default formatPassword;
src/pages/login/js/api.js
@@ -1,5 +1,6 @@
import axios from "@/assets/js/axios";
import md5 from "js-md5";
import formatPassword from "@/assets/js/tools/formatPassword";
/**
 * 登录系统
 * 参数 "uinf.UName="+用户名+"&uinf.Upassword="+密码+"&uinf.UId="+是否记住密码(0,1)
@@ -8,7 +9,7 @@
export const login = (username, password, verity) => {
    return axios({
        method: "post",
        url: `LoginAction_login?uinf.UName=${username}&uinf.Upassword=${md5(password)}&uinf.UNote=${verity}&uinf.UId=0`,
        url: `LoginAction_login?uinf.UName=${username}&uinf.Upassword=${encodeURIComponent(encodeURIComponent(formatPassword(password)))}&uinf.UNote=${verity}&uinf.UId=0`,
        data: null
    });
};