From 03fcf43a890eb96f691aaa62d0801f2f98b57028 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Wed, 19 Sep 2018 11:11:59 +0800 Subject: [PATCH] --- src/org/redkale/util/Utility.java | 58 +++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/src/org/redkale/util/Utility.java b/src/org/redkale/util/Utility.java index 9abc86a4b..838126f0c 100644 --- a/src/org/redkale/util/Utility.java +++ b/src/org/redkale/util/Utility.java @@ -1081,6 +1081,64 @@ public final class Utility { return md5.digest(str.getBytes()); } + /** + * SHA-256 + * + * @param bs 待hash数据 + * + * @return hash值 + */ + public static String sha256Hex(byte[] bs) { + return binToHexString(sha256Bytes(bs)); + } + + /** + * SHA-256 + * + * @param bs 待hash数据 + * + * @return hash值 + */ + public static byte[] sha256Bytes(byte[] bs) { + if (bs == null) return null; + MessageDigest digester; + try { + digester = MessageDigest.getInstance("SHA-256"); + } catch (NoSuchAlgorithmException ex) { + throw new RuntimeException(ex); + } + return digester.digest(bs); + } + + /** + * SHA-256 + * + * @param str 待hash数据 + * + * @return hash值 + */ + public static String sha256Hex(String str) { + return binToHexString(sha256Bytes(str)); + } + + /** + * SHA-256 + * + * @param str 待hash数据 + * + * @return hash值 + */ + public static byte[] sha256Bytes(String str) { + if (str == null) return null; + MessageDigest digester; + try { + digester = MessageDigest.getInstance("SHA-256"); + } catch (NoSuchAlgorithmException ex) { + throw new RuntimeException(ex); + } + return digester.digest(str.getBytes()); + } + /** * 将字节数组转换为16进制字符串 *