From 3a0a7177650b3924156283fffa03a4428e36429a Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Sat, 14 Apr 2018 12:50:13 +0800 Subject: [PATCH] --- src/org/redkale/util/Utility.java | 61 ++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/src/org/redkale/util/Utility.java b/src/org/redkale/util/Utility.java index 9d83b684b..4c603fbf2 100644 --- a/src/org/redkale/util/Utility.java +++ b/src/org/redkale/util/Utility.java @@ -11,6 +11,7 @@ import java.nio.ByteBuffer; import java.nio.channels.CompletionHandler; import java.nio.charset.*; import static java.nio.charset.StandardCharsets.UTF_8; +import java.security.*; import java.time.*; import java.util.*; import java.util.function.*; @@ -580,7 +581,7 @@ public final class Utility { } return false; } - + /** * 判断指定值是否包含指定的数组中,包含返回true * @@ -972,6 +973,64 @@ public final class Utility { return ld.atStartOfDay(zid).toInstant().toEpochMilli(); } + /** + * MD5加密 + * + * @param bs 待加密数据 + * + * @return md5值 + */ + public static String md5Hex(byte[] bs) { + return binToHexString(md5Bytes(bs)); + } + + /** + * MD5加密 + * + * @param bs 待加密数据 + * + * @return md5值 + */ + public static byte[] md5Bytes(byte[] bs) { + if (bs == null) return null; + MessageDigest md5; + try { + md5 = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException ex) { + throw new RuntimeException(ex); + } + return md5.digest(bs); + } + + /** + * MD5加密 + * + * @param str 待加密数据 + * + * @return md5值 + */ + public static String md5Hex(String str) { + return binToHexString(md5Bytes(str)); + } + + /** + * MD5加密 + * + * @param str 待加密数据 + * + * @return md5值 + */ + public static byte[] md5Bytes(String str) { + if (str == null) return null; + MessageDigest md5; + try { + md5 = MessageDigest.getInstance("MD5"); + } catch (NoSuchAlgorithmException ex) { + throw new RuntimeException(ex); + } + return md5.digest(str.getBytes()); + } + /** * 将字节数组转换为16进制字符串 *