2012-02-16 181 views
0

我的朋友告诉我使用“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算法,我们需要多少字节作为输出。

回答

5

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

  • 对于MD5这个比特数是128。
  • 对于SHA-1本的比特数是160
  • 对于SHA-256本的比特数,如果256

你代码看起来很好,并且正在生成正确的摘要大小。你可以阅读更多关于加密哈希值的文章here

+0

感谢您的输入... – VJS 2012-02-16 13:01:50