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);
+ }
+
// ------------------------------------------------------------------- 非称加密算法
/**