2012-02-16 183 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