package cc.mrbird.febs.pay.util; import cc.mrbird.febs.common.exception.JPException; import cc.mrbird.febs.pay.model.Algorithm; import cc.mrbird.febs.pay.model.CommonConst; import cn.hutool.core.util.StrUtil; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MD5工具类 * @author chenyf * @date 2018-12-15 */ public class MD5Util { /** * 生成16进制的MD5字符串 * @param str * @return */ public static String getMD5Hex(String str) { return HEXUtil.encode(getMD5(str), true); } public static byte[] getMD5(String str) { MessageDigest messageDigest; try { messageDigest = MessageDigest.getInstance(Algorithm.MD5); messageDigest.reset(); if (StrUtil.isNotEmpty(str)) { messageDigest.update(str.getBytes(CommonConst.ENCODING_UTF_8)); } } catch (NoSuchAlgorithmException e) { throw new JPException("生成MD5信息时异常", e); } catch (UnsupportedEncodingException e) { throw new JPException("生成MD5信息时异常", e); } return messageDigest.digest(); } }