Выходные байты / биты HMACSHA256 - PullRequest
       7

Выходные байты / биты HMACSHA256

0 голосов
/ 16 февраля 2012

Мой друг сказал мне использовать алгоритм "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, сколько байтов нам нужно ожидать, чтобы прийти в качестве вывода.

1 Ответ

7 голосов
/ 16 февраля 2012

Количество выходных битов для дайджестов HMAC равно битам, сгенерированным базовым алгоритмом.

  • Для MD5 это число битов составляет 128.
  • Для SHA-1 это число битов равно 160.
  • Для SHA-256 это количество бит, если256.

Ваш код выглядит нормально и генерирует правильный размер дайджеста.Вы можете прочитать больше о криптографических хешах здесь .

...