HMACSHA256 输出字节/位
我的朋友告诉我使用“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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
HMAC 摘要的输出位数等于底层算法生成的位数。
您的代码看起来不错,并且正在生成正确的摘要大小。您可以在此处阅读有关加密哈希的更多信息。
The number of output bits for HMAC digests is equal to the bits generated by the underlying algorithm.
Your code looks fine and is generating the correct digest size. You can read more on cryptographic hashes here.