/* * ******************************************************************************************************************** * * iFHS7. * ;BBMBMBMc rZMBMBR BMB * MBEr:;PBM, 7MBMMEOBB: BBB RBW * XK: BO SB. :SZ MBM. c;; ir BBM :FFr :SSF: ;xBMB:r iuGXv. i:. iF2; * DBBM0r. :D S7 ;XMBMB GMBMu. MBM: BMB MBMBBBMBMS WMBMBMBBK MBMBMBM BMBRBMBW .MBMBMBMBB * :JMRMMD .. , 1MMRM1; ;MBMBBR: MBM ;MB: BMB: MBM. RMBr sBMH BM0 UMB, BMB. KMBv * ;. XOW B1; :uM: 1RE, i .2BMBs rMB. MBO MBO JMB; MBB MBM BBS 7MBMBOBM: MBW :BMc * OBRJ.SEE MRDOWOR, 3DE:7OBM . ;BMB RMR7BM BMB MBB. BMB ,BMR .BBZ MMB rMB, BMM rMB7 * :FBRO0D0 RKXSXPR. JOKOOMPi BMBSSWBMB; BMBB: MBMB0ZMBMS .BMBOXRBMB MBMDE RBM2;SMBM; MBB xBM2 * iZGE O0SHSPO. uGZ7. sBMBMBDL :BMO OZu:BMBK, rRBMB0; ,EBMB xBMBr:ER. RDU :OO; * ,BZ, 1D0 RPSFHXR. xWZ .SMr . .BBB * :0BMRDG RESSSKR. 2WOMBW; BMBMR * i0BM: SWKHKGO MBDv * .UB OOGDM. MK, Copyright (c) 2015-2019. 斯伯坦机器人 * , XMW .. * r All rights reserved. * * ******************************************************************************************************************** */ package com.sybotan.service.utils.crypt import java.security.MessageDigest import java.security.NoSuchAlgorithmException /** * 基础加密组件 * * @author Andy */ abstract class SCoderUtil { companion object { /** SHA算法 */ const val KEY_SHA = "SHA" /** MD5算法 */ const val KEY_MD5 = "MD5" /** * MAC算法可选以下多种算法 * * *
* HmacMD5
* HmacSHA1
* HmacSHA256
* HmacSHA384
* HmacSHA512
*
*/
const val KEY_MAC = "HmacMD5"
/**
* MD5加密
*
* @param data
* @return
* @throws NoSuchAlgorithmException
* @throws Exception
*/
@Throws(NoSuchAlgorithmException::class)
fun encryptMD5(data: ByteArray): ByteArray {
val md5 = MessageDigest.getInstance(KEY_MD5)
md5.update(data)
return md5.digest()
} // Fun encryptMD5()
/**
* SHA加密
*
* @param data
* @return
* @throws NoSuchAlgorithmException
* @throws Exception
*/
@Throws(NoSuchAlgorithmException::class)
fun encryptSHA(data: ByteArray): ByteArray {
val sha = MessageDigest.getInstance(KEY_SHA)
sha.update(data)
return sha.digest()
} // Fun encryptSHA()
}
} // Class SCoderUtil