EncryptUtil.ts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. /**
  2. *
  3. * @file EncryptUtil.ts
  4. * @author dream
  5. * @description 一些加密解密方法
  6. *
  7. */
  8. import SDK from "../SDK";
  9. import Utils from "./Utils";
  10. // let keyStr = ["AabB1122CcdDEfgg","Xianyou2021jjrfk","CMi89Egjd233pOKs"]
  11. let keyStr = ["","","CMi89Egjd233pOKs"]
  12. let keyCode ="1qazQAZ2wsxWSX3edcEDC4rfvRFV5tgbTGB6yhnYHN7ujmUJM8ikIK9olOL0pP"
  13. let ivKey = "GhCMeiV16WkB4kFf"
  14. let counts = [,,14];
  15. export enum EncryptType{
  16. ED_CM = 2
  17. }
  18. export module EncryptUtil {
  19. export function en(word:string){
  20. // if(SDK.Instance.edType === EncryptType.ED_ZC){
  21. // return encrypt(word);
  22. // }else
  23. // if(SDK.Instance.edType === EncryptType.ED_XY){
  24. // return desEncrypt(word);
  25. // }
  26. // else
  27. if(SDK.Instance.edType === EncryptType.ED_CM){
  28. return encryptIv(word);
  29. }
  30. return null;
  31. }
  32. export function de(word:string){
  33. // if(SDK.Instance.edType === EncryptType.ED_ZC){
  34. // return decrypt(word);
  35. // }else
  36. // if(SDK.Instance.edType === EncryptType.ED_XY){
  37. // return desDecrypt(word);
  38. // }
  39. // else
  40. if(SDK.Instance.edType === EncryptType.ED_CM){
  41. return decryptIv(word);
  42. }
  43. return null;
  44. }
  45. // // 97-122,A-Z:65-90,0-9:48-57。
  46. // //加密
  47. export function encryptIv(word:string){
  48. let keys = keyStr[SDK.Instance.edType];
  49. var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==
  50. var srcs = CryptoJS.enc.Utf8.parse(word);
  51. var encrypted = CryptoJS.AES.encrypt(word, key, {iv:CryptoJS.enc.Utf8.parse(ivKey),mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});
  52. let code ="";
  53. let count = counts[SDK.Instance.edType];
  54. for(let i = 1 ; i <= count ; i++){
  55. let index = Utils.instance.getRandomInt(1,keyCode.length);
  56. code+=keyCode.substring(index-1,index);
  57. }
  58. return code+encrypted.toString();
  59. }
  60. // //解密
  61. // export function decrypt(word, keyStr){
  62. export function decryptIv(word:string){
  63. let count = counts[SDK.Instance.edType];
  64. let keys = keyStr[SDK.Instance.edType];
  65. word = word.substring(count,word.length);
  66. var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==
  67. var decrypt = CryptoJS.AES.decrypt(word, key, {iv:CryptoJS.enc.Utf8.parse(ivKey),mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});
  68. return CryptoJS.enc.Utf8.stringify(decrypt).toString();
  69. }
  70. // // 97-122,A-Z:65-90,0-9:48-57。
  71. // //加密
  72. // // export function encrypt(word, keyStr){
  73. // export function encrypt(word:string){
  74. // let keys = keyStr[SDK.Instance.edType];
  75. // var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==
  76. // var srcs = CryptoJS.enc.Utf8.parse(word);
  77. // var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
  78. // let code ="";
  79. // let count = counts[SDK.Instance.edType];
  80. // for(let i = 1 ; i <= count ; i++){
  81. // let index = Utils.instance.getRandomInt(1,keyCode.length);
  82. // code+=keyCode.substring(index-1,index);
  83. // }
  84. // return code+encrypted.toString();
  85. // }
  86. // //解密
  87. // // export function decrypt(word, keyStr){
  88. // export function decrypt(word:string){
  89. // let count = counts[SDK.Instance.edType];
  90. // let keys = keyStr[SDK.Instance.edType];
  91. // word = word.substring(count,word.length);
  92. // var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==
  93. // var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
  94. // return CryptoJS.enc.Utf8.stringify(decrypt).toString();
  95. // }
  96. // export function desEncrypt(word:string){
  97. // let keys = keyStr[SDK.Instance.edType];
  98. // var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==
  99. // var srcs = CryptoJS.enc.Utf8.parse(word);
  100. // var encrypted = CryptoJS.DES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
  101. // let code ="";
  102. // let count = counts[SDK.Instance.edType];
  103. // for(let i = 1 ; i <= count ; i++){
  104. // let index = Utils.instance.getRandomInt(1,keyCode.length);
  105. // code+=keyCode.substring(index-1,index);
  106. // }
  107. // // console.log("code: "+code);
  108. // return code+encrypted.toString();
  109. // }
  110. // //解密
  111. // // export function decrypt(word, keyStr){
  112. // export function desDecrypt(word:string){
  113. // let count = counts[SDK.Instance.edType];
  114. // let keys = keyStr[SDK.Instance.edType];
  115. // word = word.substring(count,word.length);
  116. // var key = CryptoJS.enc.Utf8.parse(keys);//Latin1 w8m31+Yy/Nw6thPsMpO5fg==
  117. // var decrypt = CryptoJS.DES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
  118. // return CryptoJS.enc.Utf8.stringify(decrypt).toString();
  119. // }
  120. }