Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java hmac

作者:风中孤狼   发布日期:2026-01-25   浏览:17

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();
        }
    }
}

解释说明:

  1. SecretKeySpec: 用于创建一个密钥对象,该对象将用于 HMAC 计算。
  2. Mac.getInstance(algorithm): 获取指定算法的 Mac 实例。
  3. mac.init(secretKey): 使用提供的密钥初始化 Mac 对象。
  4. mac.doFinal(data.getBytes("UTF-8")): 对输入数据执行 HMAC 计算,并返回字节数组形式的结果。
  5. Base64.getEncoder().encodeToString(rawHmac): 将 HMAC 结果进行 Base64 编码,以便于阅读和传输。

这段代码展示了如何使用 Java 计算 HMAC(基于哈希的消息认证码),并输出 Base64 编码后的结果。

上一篇:java tensorflow

下一篇:java spel

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java list 查找

java 解压rar

java读取excel中的图片

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站