whyczyk
2022-03-02 733823ffa701f749c7154cacf60a26951891f2ca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import randomString from "@/assets/js/tools/randomString";
import md5 from "js-md5";
 
function rejectReplay() {
  let t = sessionStorage.getItem("serverStamp") || new Date().getTime()+"";
  let rd = randomString(10);
  let sign = getSign(t, rd);
  return 't='+t+"&sign="+sign+"&rd="+rd;
}
 
function getSign(time, randomStr) {
  let usefulNum = randomStr;
  //加盐方式,根据末尾的值进行不同的加密规则
  let lastChar = time.charAt(12);
  let lastNum = Number(lastChar);
  let reg = new RegExp(lastChar, 'g');
  switch (lastNum){
    //在第一位加字符串 rd@c3doed
    case 0: usefulNum += time.replace(reg,"rd@c3dozero");break;
    case 1: usefulNum += time.replace(reg,"rd@c3doenoe");break;
    case 2: usefulNum += time.replace(reg,"rd@c3doktwo");break;
    case 3: usefulNum += time.replace(reg,"rd@c3dolthree");break;
    case 4: usefulNum += time.replace(reg,"rd@c3doexfour");break;
    case 5: usefulNum += time.replace(reg,"rd@c3doedefive");break;
    case 6: usefulNum += time.replace(reg,"rd@c3doedhsix");break;
    case 7: usefulNum += time.replace(reg,"rd@c3doedtseven");break;
    case 8: usefulNum += time.replace(reg,"rd@c3doedbeight");break;
    case 9: usefulNum += time.replace(reg,"rd@c3doedrnine");break;
  }
  //MD5加密后
  let signNow = md5(usefulNum);
  let sb = "";
  for (let i = 0; i < 10; i++) {
    sb += signNow.charAt(i*2);
  }
  let signResult = sb+signNow;
  return signResult;
}
 
export default rejectReplay;