HMACSHA256 输出字节/位

发布于 2025-01-06 18:40:49 字数 461 浏览 0 评论 0原文

我的朋友告诉我使用“HMACSHA256”算法,我使用了以下代码:

SecretKey signingKey = new SecretKeySpec("123".getBytes(), "HMACSHA256");  
    Mac mac = Mac.getInstance("HMACSHA256");  
    mac.init(signingKey);  
    byte[] digest = mac.doFinal("ABCDEF".getBytes());     
    System.out.println("HMA : "+digest.length);

只是想知道:

1)上面的实现看起来是标准的“HMACSHA256”吗?

2) 输出(摘要)为 256 位或 16 字节。这是正确的吗?

如果我们使用 HMACSHA256 算法,我们需要期望输出多少字节。

My Friend told me to use "HMACSHA256" algo and i have used the below code :

SecretKey signingKey = new SecretKeySpec("123".getBytes(), "HMACSHA256");  
    Mac mac = Mac.getInstance("HMACSHA256");  
    mac.init(signingKey);  
    byte[] digest = mac.doFinal("ABCDEF".getBytes());     
    System.out.println("HMA : "+digest.length);

Just wanted to know that :

1) is the above implementation looks standard "HMACSHA256" ?

2) Output (digest) is coming as 256 bits or 16 bytes.Is this correct.

If we are using HMACSHA256 algo, how many bytes we need to expect to come as an output.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初见终念 2025-01-13 18:40:49

HMAC 摘要的输出位数等于底层算法生成的位数。

  • 对于 MD5,该位数为 128。
  • 对于 SHA-1,该位数为 160。
  • 对于 SHA-256,该位数为 256。

您的代码看起来不错,并且正在生成正确的摘要大小。您可以在此处阅读有关加密哈希的更多信息。

The number of output bits for HMAC digests is equal to the bits generated by the underlying algorithm.

  • For MD5 this number of bits is 128.
  • For SHA-1 this number of bits is 160.
  • For SHA-256 this number of bits if 256.

Your code looks fine and is generating the correct digest size. You can read more on cryptographic hashes here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文