学堂 学堂 学堂公众号手机端

在Java中使用HmacSHA256可以通过javax.crypto包中的Mac类实现

lewis 1年前 (2024-03-19) 阅读数 2 #技术

在Java中使用HmacSHA256可以通过javax.crypto包中的Mac类实现。以下是一个使用HmacSHA256算法对数据进行加密的示例代码:

importjavax.crypto.Mac; importjavax.crypto.spec.SecretKeySpec; importjava.security.InvalidKeyException; importjava.security.NoSuchAlgorithmException; importjava.util.Base64; publicclassHmacSHA256Example{ publicstaticvoidmain(String[]args){ Stringdata="Hello,World!"; Stringkey="secretKey"; try{ MachmacSHA256=Mac.getInstance("HmacSHA256"); SecretKeySpecsecretKey=newSecretKeySpec(key.getBytes(),"HmacSHA256"); hmacSHA256.init(secretKey); byte[]hash=hmacSHA256.doFinal(data.getBytes()); StringencodedHash=Base64.getEncoder().encodeToString(hash); System.out.println("HMAC-SHA256hash:"+encodedHash); }catch(NoSuchAlgorithmException|InvalidKeyExceptione){ e.printStackTrace(); } } }

在上面的代码中,首先创建了一个HmacSHA256实例,并使用指定的密钥对其进行初始化。然后对数据进行加密操作,并将加密后的结果转换为Base64编码的字符串输出。

请注意,此示例中使用了Base64编码对加密结果进行了转换,如果需要原始的字节数组可以直接使用hash变量。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门