2012-02-16 10 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 algoを使用している場合、出力として期待する必要があるバイト数。

答えて

5

HMACダイジェストの出力ビット数は、基礎となるアルゴリズムで生成されたビット数と同じです。 MD5について

  • このビット数は、SHA-1の128
  • ある256

あなたの場合にこのビット数は、SHA-256のためのビットのこの数160

  • ありますコードは正常に見え、正しいダイジェストサイズを生成しています。暗号化ハッシュhereについて詳しく読むことができます。

  • +0

    入力いただきありがとうございます... – VJS