SCoderUtil.kt 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * ********************************************************************************************************************
  3. *
  4. * iFHS7.
  5. * ;BBMBMBMc rZMBMBR BMB
  6. * MBEr:;PBM, 7MBMMEOBB: BBB RBW
  7. * XK: BO SB. :SZ MBM. c;; ir BBM :FFr :SSF: ;xBMB:r iuGXv. i:. iF2;
  8. * DBBM0r. :D S7 ;XMBMB GMBMu. MBM: BMB MBMBBBMBMS WMBMBMBBK MBMBMBM BMBRBMBW .MBMBMBMBB
  9. * :JMRMMD .. , 1MMRM1; ;MBMBBR: MBM ;MB: BMB: MBM. RMBr sBMH BM0 UMB, BMB. KMBv
  10. * ;. XOW B1; :uM: 1RE, i .2BMBs rMB. MBO MBO JMB; MBB MBM BBS 7MBMBOBM: MBW :BMc
  11. * OBRJ.SEE MRDOWOR, 3DE:7OBM . ;BMB RMR7BM BMB MBB. BMB ,BMR .BBZ MMB rMB, BMM rMB7
  12. * :FBRO0D0 RKXSXPR. JOKOOMPi BMBSSWBMB; BMBB: MBMB0ZMBMS .BMBOXRBMB MBMDE RBM2;SMBM; MBB xBM2
  13. * iZGE O0SHSPO. uGZ7. sBMBMBDL :BMO OZu:BMBK, rRBMB0; ,EBMB xBMBr:ER. RDU :OO;
  14. * ,BZ, 1D0 RPSFHXR. xWZ .SMr . .BBB
  15. * :0BMRDG RESSSKR. 2WOMBW; BMBMR
  16. * i0BM: SWKHKGO MBDv
  17. * .UB OOGDM. MK, Copyright (c) 2015-2019. 斯伯坦机器人
  18. * , XMW ..
  19. * r All rights reserved.
  20. *
  21. * ********************************************************************************************************************
  22. */
  23. package com.sybotan.service.utils.crypt
  24. import java.security.MessageDigest
  25. import java.security.NoSuchAlgorithmException
  26. /**
  27. * 基础加密组件
  28. *
  29. * @author Andy
  30. */
  31. abstract class SCoderUtil {
  32. companion object {
  33. /** SHA算法 */
  34. const val KEY_SHA = "SHA"
  35. /** MD5算法 */
  36. const val KEY_MD5 = "MD5"
  37. /**
  38. * MAC算法可选以下多种算法
  39. *
  40. *
  41. * <pre>
  42. * HmacMD5
  43. * HmacSHA1
  44. * HmacSHA256
  45. * HmacSHA384
  46. * HmacSHA512
  47. </pre> *
  48. */
  49. const val KEY_MAC = "HmacMD5"
  50. /**
  51. * MD5加密
  52. *
  53. * @param data
  54. * @return
  55. * @throws NoSuchAlgorithmException
  56. * @throws Exception
  57. */
  58. @Throws(NoSuchAlgorithmException::class)
  59. fun encryptMD5(data: ByteArray): ByteArray {
  60. val md5 = MessageDigest.getInstance(KEY_MD5)
  61. md5.update(data)
  62. return md5.digest()
  63. } // Fun encryptMD5()
  64. /**
  65. * SHA加密
  66. *
  67. * @param data
  68. * @return
  69. * @throws NoSuchAlgorithmException
  70. * @throws Exception
  71. */
  72. @Throws(NoSuchAlgorithmException::class)
  73. fun encryptSHA(data: ByteArray): ByteArray {
  74. val sha = MessageDigest.getInstance(KEY_SHA)
  75. sha.update(data)
  76. return sha.digest()
  77. } // Fun encryptSHA()
  78. }
  79. } // Class SCoderUtil