Ce comparateur vérifie si deux empreintes de hachage sont identiques sans que vous ayez à les relire caractère par caractère. Il sert à confronter la somme de contrôle publiée par un éditeur à celle que vous avez calculée, ou deux empreintes de certificat affichées dans des formats différents.
Avant la comparaison, les deux valeurs sont normalisées : passage en minuscules, suppression des espaces, des retours à la ligne et des deux-points, et retrait d’un préfixe d’algorithme en tête comme « sha256- » ou « sha256= ». Ainsi, « AB:CD:EF » et « abcdef » sont considérés comme égaux, tout comme « sha256=2cf24d… » (le format de GitHub) et « 2cf24d… ». La longueur de la valeur normalisée permet ensuite d’estimer l’algorithme : 32 caractères hexadécimaux pour MD5, 40 pour SHA-1, 64 pour SHA-256, 96 pour SHA-384 et 128 pour SHA-512. Cette détection reste une probabilité, car SHA3-256 ou BLAKE2s produisent eux aussi 64 caractères.
La comparaison est effectuée en temps constant : l’outil parcourt tous les caractères au lieu de s’arrêter au premier écart, une précaution classique pour ne pas révéler, par la durée du calcul, l’endroit où deux secrets diffèrent. Lorsque les valeurs ne correspondent pas, la position du premier caractère différent est indiquée, ce qui aide à repérer une copie tronquée ou une erreur de sélection. Des longueurs différentes signalent souvent deux algorithmes différents, par exemple un SHA-1 comparé à un SHA-256. Une correspondance prouve seulement que le fichier est identique à celui qui a servi à produire la référence : la confiance dépend de la source de cette référence, idéalement une page HTTPS officielle ou un fichier signé.