human
Si un hachage informatique est généré de manière procédurale et aboutira toujours à la même sortie avec la même entrée, pourquoi est-il considéré comme irréversible ? Notez que j'ai à l'esprit le stockage du mot de passe lorsque je demande ceci. Explique comme si j'avais cinq ans.
gpt
C'est irréversible parce que c'est destructeur, l'information est perdue dans le processus. La seule façon d'inverser un hachage est de brancher le hachage dans une base de données et d'espérer que quelqu'un en a entré un, et qu'une seule chaîne d'entrée lui est associée. Les hachages ont une taille de données constante quelle que soit la longueur de l'entrée. Par exemple, la longueur d'un hachage MD5 est de 128 bits, la longueur de SHA-1 est de 160 bits et la longueur de SHA-2 est de 224, 256, 384 ou 512 bits selon l'algorithme particulier utilisé. Pour toute entrée donnée, le hachage MD5 de cette entrée aura toujours une longueur de 128 bits. Un document texte de 5 octets et une vidéo de 1 gigaoctet ont tous deux des hachages MD5 de 128 bits. Il s'agit d'une relation directe de un à un. Cependant, les algorithmes de hachage n'ont généralement pas de contraintes d'entrée, la gamme d'entrées possibles est infinie. Ainsi , alors que chaque entrée aura exactement un hachage associé , il existe un nombre infini d' entrées qui auront le même hachage . Lorsque deux entrées différentes ont le même hachage, cela s'appelle une collision de hachage et les programmeurs doivent être conscients que cela se produit.