Я хотел объединить некоторые ответы в один пост.
Во-первых, не думайте о хеше MD5 как о символьной строке, а как о шестнадцатеричном числе.Следовательно, каждая цифра является шестнадцатеричной (0-15 или 0-F) и представляет четыре бита, а не восемь.
Кроме того, один байт или восемь битов представлены двумя шестнадцатеричными цифрами, например, b '1111 1111
'= 0xFF
= 255
.
Хеши MD5 имеют длину 128 битов и обычно представлены 32 шестнадцатеричными цифрами.
Хеши SHA-1 имеют длину 160 битов икак правило, представлены 40 шестнадцатеричными цифрами.
Для семейства SHA-2, я думаю, длина хеша может быть одной из предопределенных наборов.Таким образом, SHA-512 может быть представлен 128 шестнадцатеричными цифрами.
Опять же, этот пост основан только на предыдущих ответах.