Un hash (qui peut également être appelé un condensat ou une signature) est une valeur calculée à partir d’une autre valeur. Dans la grande majorité des cas, cette valeur est représentée sous forme d’une chaîne de caractères hexadécimaux. Le calcul du hash fait appel à un algorithme complexe que ce livre ne détaillera pas.
Voici deux exemples de hash calculés avec l’algorithme SHA-1 :
Valeur
Hash
Git
5819778898df55e3a762f0c5728b457970d72cae
git
46f1a0bd5592a2f9244ca321b129902a06b53e03
Je veux une phrase assez longue, au moins plus que le hash en tous cas
7a5a57cde20a9bbda76b70e9223292ce7f8472f9
Dans cet exemple, nous remarquons deux choses :
Un changement mineur dans le contenu change totalement le hash. Nous remarquons cela en comparant les hash de « Git » et « git ».
Un hash fait toujours la même taille : 40 caractères (ce qui équivaut à 160 bits).
Il est impossible de retrouver le contenu original à partir du hash. Au mieux on peut essayer de le deviner, mais on ne peut avoir aucune certitude étant donné qu’un même hash peut correspondre à différentes chaînes. En effet, si on calcule le hash de 2160+1 chaînes différentes, on a forcément au moins une chaîne qui partage le hash d’une autre (voir la section Risque de collision).
Les hashs sont souvent utilisés pour vérifier ...
Abonnement
tous les livres et vidéos ENI en illimité sans engagement
du livre imprimé ou du livre numérique