From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-file/jnpf-file-yozo/jnpf-file-yozo-biz/src/main/java/jnpf/yozo/utils/SecretSignatureUtils.java |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/jnpf-file/jnpf-file-yozo/jnpf-file-yozo-biz/src/main/java/jnpf/yozo/utils/SecretSignatureUtils.java b/jnpf-file/jnpf-file-yozo/jnpf-file-yozo-biz/src/main/java/jnpf/yozo/utils/SecretSignatureUtils.java
new file mode 100644
index 0000000..1de5cea
--- /dev/null
+++ b/jnpf-file/jnpf-file-yozo/jnpf-file-yozo-biz/src/main/java/jnpf/yozo/utils/SecretSignatureUtils.java
@@ -0,0 +1,28 @@
+package jnpf.yozo.utils;
+
+import javax.crypto.Mac;
+import javax.crypto.spec.SecretKeySpec;
+import java.nio.charset.StandardCharsets;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+
+public class SecretSignatureUtils {
+    public static final String SHA256 = "HmacSHA256";
+
+    public SecretSignatureUtils() {
+    }
+
+    public static String hmacSHA256(String data, String key) throws NoSuchAlgorithmException, InvalidKeyException {
+        Mac mac = Mac.getInstance(SHA256);
+        SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), SHA256);
+        mac.init(secretKey);
+        byte[] array = mac.doFinal(data.getBytes(StandardCharsets.UTF_8));
+        StringBuilder sb = new StringBuilder();
+
+        for (byte item : array) {
+            sb.append(Integer.toHexString(item & 255 | 256), 1, 3);
+        }
+
+        return sb.toString().toUpperCase();
+    }
+}

--
Gitblit v1.8.0