Eu queria resumir algumas das respostas em um post.
Primeiro, não pense no hash MD5 como uma string de caracteres, mas como um número hexadecimal. Portanto, cada dígito é um dígito hexadecimal (0-15 ou 0-F) e representa quatro bits, não oito.
Indo além, um byte ou oito bits são representados por dois dígitos hexadecimais, por exemplo, b ' 1111 1111
' = 0xFF
= 255
.
Os hashes MD5 têm 128 bits de comprimento e geralmente são representados por 32 dígitos hexadecimais.
Os hashes SHA-1 têm 160 bits de comprimento e geralmente são representados por 40 dígitos hexadecimais.
Para a família SHA-2, acho que o comprimento do hash pode ser um de um conjunto pré-determinado. Portanto, o SHA-512 pode ser representado por 128 dígitos hexadecimais.
Novamente, esta postagem é baseada apenas em respostas anteriores.