En las computadoras, tendemos a hablar en tres bases, binario (base 2), decimal (base 10) y hexadecimal (base 16). Las computadoras generalmente codifican todo en dígitos binarios
Un bit es b -inary dig- it : un dígito en la base 2 que es un 0 o un 1. Por ejemplo, podrías representar el número decimal 42 como 6 dígitos binarios: 101010 bin as 42 = 32 + 8 + 2 = 2 5 + 2 3 + 2 1 .
De manera similar, cada dígito hexadecimal es un número entre 0 y 2 4 -1 = 15 = f hex = 1111 binary . Los 16 dígitos hexadecimales son 0,1,2,3,4,5,6,7,8,9, a, b, c, d, e, f. (A veces, los últimos 6 caracteres se escriben en mayúsculas, son las mismas letras).
Entonces, si ves un hash que parece b1946ac92492d2347c6235b4d2611184
puedes notar inmediatamente que hay 32 caracteres hexadecimales. Por lo tanto, como cada carácter hexadecimal es de 4 bits, es 32 * 4 = 128 bits.
Mientras estamos en ello, debemos mencionar que un byte es una unidad conveniente: la mayoría de los caracteres de texto simple en un archivo de texto están representados en un byte de datos; por ejemplo, un archivo de texto sin formato de 100 kilobytes tendrá aproximadamente 100,000 caracteres. Un byte es de 8 bits; en binario, un número 0 y 255 = 11111111 binary = ff hex ) - dos caracteres hexadecimales.