java HMAC-SHA256
时间: 2025-01-02 19:36:13 浏览: 4
### Java 实现 HMAC-SHA256 算法
为了在 Java 中实现 HMAC-SHA256 算法,可以利用 `javax.crypto.Mac` 类以及 `SecretKeySpec` 来指定密钥和哈希算法。下面是一个完整的示例代码:
```java
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
public class HmacSha256Example {
private static final String ALGORITHM = "HmacSHA256";
public static byte[] hmac_sha256(String data, String key) throws Exception {
SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), ALGORITHM);
Mac mac = Mac.getInstance(ALGORITHM);
mac.init(secretKey);
return mac.doFinal(data.getBytes("UTF-8"));
}
public static void main(String[] args) {
try {
String message = "This is a test message";
String secretKey = "secret-key-example";
byte[] result = hmac_sha256(message, secretKey);
System.out.println("Original Message: " + message);
System.out.print("HMAC SHA256 Result (Hex): ");
for (byte b : result) {
System.out.format("%02x", b);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这段程序定义了一个名为 `hmac_sha256` 的方法来计算给定消息和密钥的 HMAC-SHA256 值[^1]。
阅读全文