import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
public class HmacExample {
public static String calculateHmac(String data, String key, String algorithm) throws Exception {
// 创建一个密钥对象
SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), algorithm);
// 获取Mac实例并初始化
Mac mac = Mac.getInstance(algorithm);
mac.init(secretKey);
// 执行加密操作
byte[] rawHmac = mac.doFinal(data.getBytes("UTF-8"));
// 将结果进行Base64编码
return Base64.getEncoder().encodeToString(rawHmac);
}
public static void main(String[] args) {
try {
String data = "Hello, World!";
String key = "secretKey";
String algorithm = "HmacSHA256"; // 可以选择其他算法如 HmacSHA1, HmacSHA512 等
String hmacResult = calculateHmac(data, key, algorithm);
System.out.println("HMAC: " + hmacResult);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Mac 实例。Mac 对象。这段代码展示了如何使用 Java 计算 HMAC(基于哈希的消息认证码),并输出 Base64 编码后的结果。
上一篇:java tensorflow
下一篇:java spel
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站