Quería resumir algunas de las respuestas en una publicación.
Primero, no piense en el hash MD5 como una cadena de caracteres, sino como un número hexadecimal. Por lo tanto, cada dígito es un dígito hexadecimal (0-15 o 0-F) y representa cuatro bits, no ocho.
Yendo más allá, un byte u ocho bits están representados por dos dígitos hexadecimales, por ejemplo, b ' 1111 1111
' = 0xFF
= 255
.
Los hash MD5 tienen una longitud de 128 bits y generalmente están representados por 32 dígitos hexadecimales.
Los hashes SHA-1 tienen 160 bits de longitud y generalmente están representados por 40 dígitos hexadecimales.
Para la familia SHA-2, creo que la longitud del hash puede ser una de un conjunto predeterminado. Entonces SHA-512 se puede representar con 128 dígitos hexadecimales.
Nuevamente, esta publicación se basa solo en respuestas anteriores.