From d98224cbd089bd7c7a90d36ccff7566ccdddac01 Mon Sep 17 00:00:00 2001 From: micah Date: Fri, 12 Mar 2021 11:25:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0HmacSha256=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/crypto/SecureUtil.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/SecureUtil.java b/hutool-crypto/src/main/java/cn/hutool/crypto/SecureUtil.java index 17c0da0f2..f82f7139b 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/SecureUtil.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/SecureUtil.java @@ -737,6 +737,45 @@ public final class SecureUtil { return new HMac(HmacAlgorithm.HmacSHA1); } + /** + * HmacSHA256加密器
+ * 例:
+ * HmacSHA256加密:hmacSha256(key).digest(data)
+ * HmacSHA256加密并转为16进制字符串:hmacSha256(key).digestHex(data)
+ * + * @param key 加密密钥,如果为{@code null}生成随机密钥 + * @return {@link HMac} + * @since 3.3.0 + */ + public static HMac hmacSha256(String key) { + return hmacSha256(StrUtil.utf8Bytes(key)); + } + + /** + * HmacSHA256加密器
+ * 例:
+ * HmacSHA256加密:hmacSha256(key).digest(data)
+ * HmacSHA256加密并转为16进制字符串:hmacSha256(key).digestHex(data)
+ * + * @param key 加密密钥,如果为{@code null}生成随机密钥 + * @return {@link HMac} + */ + public static HMac hmacSha256(byte[] key) { + return new HMac(HmacAlgorithm.HmacSHA256, key); + } + + /** + * HmacSHA256加密器,生成随机KEY
+ * 例:
+ * HmacSHA256加密:hmacSha256().digest(data)
+ * HmacSHA256加密并转为16进制字符串:hmacSha256().digestHex(data)
+ * + * @return {@link HMac} + */ + public static HMac hmacSha256() { + return new HMac(HmacAlgorithm.HmacSHA256); + } + // ------------------------------------------------------------------- 非称加密算法 /**