Nei computer, tendiamo a parlare in tre basi, binario (base 2), decimale (base 10 - quella a cui sei abituato) ed esadecimale (base 16). I computer di solito codificano tutto in cifre binarie
Un po 'è b -inary dig- it - una cifra in base 2 che è uno 0 o 1. Ad esempio, potresti rappresentare il numero decimale 42 come 6 cifre binarie: 101010 bin come 42 = 32 + 8 + 2 = 2 5 + 2 3 + 2 1 .
Analogamente ogni cifra esadecimale è un numero compreso tra 0 e 2 4 -1 = 15 = f hex = 1111 binary . Le 16 cifre esadecimali sono 0,1,2,3,4,5,6,7,8,9, a, b, c, d, e, f. (A volte gli ultimi 6 caratteri sono scritti in maiuscolo - sono le stesse lettere).
Quindi se vedi un hash simile a b1946ac92492d2347c6235b4d2611184
puoi immediatamente notare che ci sono 32 caratteri esadecimali. Così come ogni carattere esadecimale è di 4 bit, è 32 * 4 = 128 bit.
Mentre ci siamo, dovremmo menzionare che un byte è un'unità conveniente: la maggior parte dei caratteri in chiaro in un file di testo è rappresentata in un byte di dati; ad esempio, un file di testo in chiaro da 100 kilobyte avrà circa 100.000 caratteri al suo interno. Un byte è 8 bit - in binario un numero 0 e 255 = 11111111 binario = ff hex ) - due caratteri esadecimali.