index.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. /**
  2. * 加解密类
  3. */
  4. const CryptoJS = require("../utils/crypto-js-4.1.1.min.js")
  5. export class EncryptManager {
  6. constructor() {}
  7. /**
  8. * md5加密
  9. * @param str 加密字符串
  10. */
  11. md5 = (str) => {
  12. // return md5(str);
  13. return CryptoJS.MD5(str).toString()
  14. }
  15. /**
  16. * AES加密
  17. * @param str 要加密的字符串
  18. * @param key 秘钥
  19. */
  20. aesEncode = (str, key) => {
  21. let encrypt = CryptoJS.AES.encrypt(str, CryptoJS.enc.Utf8.parse(key), {
  22. mode: CryptoJS.mode.ECB,
  23. padding: CryptoJS.pad.Pkcs7
  24. }).toString();
  25. return encrypt;
  26. }
  27. /**
  28. * AES解密
  29. */
  30. aesDecode = (str, key) => {
  31. let decrypt = CryptoJS.AES.decrypt(str, CryptoJS.enc.Utf8.parse(key), {
  32. mode: CryptoJS.mode.ECB,
  33. padding: CryptoJS.pad.Pkcs7
  34. }).toString(CryptoJS.enc.Utf8);
  35. return decrypt;
  36. }
  37. /**
  38. * base64加密
  39. */
  40. base64Encode = (str) => {
  41. let wordArray = CryptoJS.enc.Utf8.parse(str);
  42. let encrypt = CryptoJS.enc.Base64.stringify(wordArray);
  43. return encrypt;
  44. }
  45. /**
  46. * base64解密
  47. */
  48. base64Decode = (str) => {
  49. return CryptoJS.enc.Base64.parse(str).toString(CryptoJS.enc.Utf8);
  50. }
  51. /**
  52. * DES加密
  53. */
  54. desEncode = (str, key) => {
  55. let keyHex = CryptoJS.enc.Utf8.parse(key)
  56. let option = {
  57. mode: CryptoJS.mode.ECB,
  58. padding: CryptoJS.pad.Pkcs7
  59. }
  60. let encrypted = CryptoJS.DES.encrypt(str, keyHex, option)
  61. return encrypted.toString()
  62. }
  63. /**
  64. * DES解密
  65. */
  66. desDecode = (str, key) => {
  67. let keyHex = CryptoJS.enc.Utf8.parse(key);
  68. let options = {
  69. ciphertext: CryptoJS.enc.Base64.parse(str)
  70. };
  71. let mode = {
  72. mode: CryptoJS.mode.ECB,
  73. padding: CryptoJS.pad.Pkcs7
  74. };
  75. let decrypted = CryptoJS.DES.decrypt(options, keyHex, mode)
  76. return decrypted.toString(CryptoJS.enc.Utf8)
  77. }
  78. /**
  79. * RC4加密
  80. */
  81. rc4Encode = (str, key) => {
  82. return CryptoJS.RC4.encrypt(str, key).toString();
  83. }
  84. /**
  85. * RC4解密
  86. */
  87. rc4Decode = (str, key) => {
  88. return CryptoJS.RC4.decrypt(str, key).toString(CryptoJS.enc.Utf8);
  89. }
  90. /**
  91. * rabbit加密
  92. */
  93. rabbitEncode = (str, key) => {
  94. return CryptoJS.Rabbit.encrypt(str, key).toString();
  95. }
  96. /**
  97. * rabbit解密
  98. */
  99. rabbitDecode = (str, key) => {
  100. return CryptoJS.Rabbit.decrypt(str, key).toString(CryptoJS.enc.Utf8);
  101. }
  102. /**
  103. * tripleDES加密
  104. */
  105. tripleDESEncode = (str, key) => {
  106. return CryptoJS.TripleDES.encrypt(str, key).toString();
  107. }
  108. /**
  109. * tripleDES解密
  110. */
  111. tripleDESDecode = (str, key) => {
  112. return CryptoJS.TripleDES.decrypt(str, key).toString(CryptoJS.enc.Utf8);
  113. }
  114. /**
  115. * sha1
  116. */
  117. sha1 = (str) => {
  118. return CryptoJS.SHA1(str).toString();
  119. }
  120. /**
  121. * sha224
  122. */
  123. sha224 = (str) => {
  124. return CryptoJS.SHA224(str).toString()
  125. }
  126. /**
  127. * sha256
  128. */
  129. sha256 = (str) => {
  130. return CryptoJS.SHA256(str).toString()
  131. }
  132. /**
  133. * sha384
  134. */
  135. sha384 = (str) => {
  136. return CryptoJS.SHA384(str).toString()
  137. }
  138. /**
  139. * sha512
  140. */
  141. sha512 = (str) => {
  142. return CryptoJS.SHA512(str).toString()
  143. }
  144. /**
  145. * hmacSha1
  146. */
  147. hmacSha1 = (str, key) => {
  148. return CryptoJS.HmacSHA1(str, key).toString()
  149. }
  150. /**
  151. * hmacSha256
  152. */
  153. hmacSha256 = (str, key) => {
  154. return CryptoJS.HmacSHA256(str, key).toString()
  155. }
  156. /**
  157. * hmacSha512
  158. */
  159. hmacSha512 = (str, key) => {
  160. return CryptoJS.HmacSHA512(str, key).toString()
  161. }
  162. /**
  163. * hmacMd5
  164. */
  165. hmacMd5 = (str, key) => {
  166. return CryptoJS.HmacMD5(str, key).toString()
  167. }
  168. }