Miklix

Calculateur de code de hachage MurmurHash3A

Publié : 18 février 2025 à 00:39:12 UTC

Calculateur de code de hachage qui utilise la fonction de hachage MurmurHash3A pour calculer un code de hachage basé sur une saisie de texte ou un téléchargement de fichier.

Cette page a été traduite de l'anglais afin de la rendre accessible au plus grand nombre. Malheureusement, la traduction automatique n'est pas encore une technologie parfaite, et des erreurs peuvent donc se produire. Si vous préférez, vous pouvez consulter la version originale en anglais ici :

MurmurHash3A Hash Code Calculator

MurmurHash3 est une fonction de hachage non cryptographique conçue par Austin Appleby en 2008. Elle est largement utilisée pour le hachage à usage général en raison de sa rapidité, de sa simplicité et de ses bonnes propriétés de distribution. Les fonctions MurmurHash sont particulièrement efficaces pour les structures de données basées sur le hachage telles que les tables de hachage, les filtres Bloom et les systèmes de déduplication de données.

La variante présentée sur cette page est la variante 3A, optimisée pour les systèmes 32 bits. Elle produit des codes de hachage 32 bits (4 octets), généralement représentés par un nombre hexadécimal à 8 chiffres.

Divulgation complète : je n'ai pas écrit l'implémentation spécifique de la fonction de hachage utilisée sur cette page. Il s'agit d'une fonction standard incluse dans le langage de programmation PHP. J'ai seulement créé l'interface web pour la rendre publiquement disponible ici pour des raisons de commodité.


Calculer le nouveau code de hachage

Les données soumises ou les fichiers téléchargés par le biais de ce formulaire ne seront conservés sur le serveur que le temps nécessaire à la génération du code de hachage demandé. Elles seront supprimées immédiatement avant que le résultat ne soit renvoyé à votre navigateur.

Données d'entrée :



Le texte soumis est encodé en UTF-8. Étant donné que les fonctions de hachage opèrent sur des données binaires, le résultat sera différent que si le texte était dans un autre encodage. Si vous avez besoin de calculer un hachage d'un texte dans un encodage spécifique, vous devriez télécharger un fichier à la place.



À propos de l'algorithme de hachage MurmurHash3A

Je ne suis pas mathématicien, mais je vais essayer d'expliquer cette fonction de hachage en utilisant une analogie que mes collègues non mathématiciens peuvent comprendre. Si vous préférez une explication mathématique complète et scientifiquement correcte, je suis sûr que vous pouvez la trouver ailleurs ;-)

Imaginez maintenant que vous avez une grande boîte de briques LEGO. Chaque fois que vous les disposez d'une certaine manière, vous prenez une photo. Quelle que soit la taille ou la couleur de l'agencement, l'appareil photo vous donne toujours une petite photo de taille fixe. Cette photo représente votre création LEGO, mais sous une forme compacte.

MurmurHash3 fait quelque chose de similaire avec les données. Il prend n'importe quel type de données (texte, nombres, fichiers) et les réduit à une petite « empreinte digitale » fixe ou valeur de hachage. Cette empreinte digitale aide les ordinateurs à identifier, trier et comparer rapidement les données sans avoir besoin de les examiner dans leur intégralité.

Une autre analogie serait de préparer un gâteau et de lui donner la recette pour transformer ce gâteau en un petit cupcake (le hash). Il s'agirait d'un processus en trois étapes :

Étape 1 : Découper en morceaux (décomposer les données)

  • Tout d’abord, MurmurHash3 découpe vos données en morceaux égaux, comme si vous coupiez le gâteau en carrés égaux.

Étape 2 : Mélangez comme un fou (mélangez les morceaux)

  • Chaque pièce passe par un processus de mélange sauvage :
    • Retourner : Comme retourner une crêpe, cela réorganise les morceaux.
    • Remuer : ajoute des ingrédients aléatoires (opérations mathématiques) pour mélanger les choses.
    • Écrasement : comprime les données ensemble pour s'assurer qu'aucun élément d'origine ne se démarque.

Étape 3 : Test de goût final (finalisation)

  • Après avoir mélangé tous les morceaux, MurmurHash3 leur donne une dernière agitation pour garantir que même la plus petite miette de changement dans les données d'origine changerait totalement la saveur (le hachage).
Partager sur BlueskyPartager sur FacebookPartager sur LinkedInPartager sur TumblrPartager sur XPartager sur LinkedInÉpingler sur Pinterest

Mikkel Bang Christensen

A propos de l'auteur

Mikkel Bang Christensen
Mikkel est le créateur et le propriétaire de miklix.com. Il a plus de 20 ans d'expérience en tant que programmeur informatique professionnel/développeur de logiciels et travaille actuellement à plein temps pour une grande entreprise européenne de TI. Lorsqu'il ne blogue pas, il consacre son temps libre à un large éventail d'intérêts, de passe-temps et d'activités, ce qui peut se refléter dans une certaine mesure dans la variété des sujets abordés sur ce site web.