Miklix

Calculateur de code de hachage Fowler-Noll-Vo FNV1a-32

Publié : 18 février 2025 à 00:09:01 UTC

Calculateur de code de hachage qui utilise la fonction de hachage Fowler-Noll-Vo 1a 32 bits (FNV1a-32) 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 :

Fowler-Noll-Vo FNV1a-32 Hash Code Calculator

La fonction de hachage 32 bits FNV-1a fait partie de la famille de fonctions de hachage Fowler–Noll–Vo (FNV), conçue pour un hachage rapide tout en maintenant une bonne distribution des valeurs de hachage. Elle est couramment utilisée dans des applications telles que les tables de hachage, les sommes de contrôle et les recherches de données. Elle produit un code de hachage 32 bits (4 octets), souvent représenté par un nombre hexadécimal à 8 chiffres.

La variante FNV-1a est une version améliorée de la fonction FNV-1 d'origine avec une meilleure sécurité.

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 32 bits Fowler-Noll-Vo FNV-1a

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 scientifiquement correcte et mathématiquement effrayante, je suis sûr que vous pouvez la trouver ailleurs ;-)

Tout d'abord, considérons l'algorithme FNV-1 comme une recette pour préparer un smoothie spécial. Chaque ingrédient que vous ajoutez (comme des fruits, du lait ou du miel) représente un élément de données, comme des lettres, des chiffres ou même un fichier entier.

L'objectif est de mélanger ces ingrédients d'une manière très spécifique afin que même le plus petit changement dans la recette (comme l'ajout d'une myrtille supplémentaire) donne au smoothie un goût complètement différent. C'est ainsi que fonctionnent les fonctions de hachage : elles créent une « saveur » unique (ou valeur de hachage) pour chaque ensemble unique d'ingrédients (ou données d'entrée).

L'algorithme FNV-1 réalise cela en suivant un processus en plusieurs étapes :

Étape 1 : Commencez avec une base (base décalée)

Considérez cela comme si vous versiez une base de smoothie spéciale dans votre mixeur. Cette base est toujours la même, quels que soient les ingrédients que vous ajoutez. Dans FNV-1, cela s'appelle la « base décalée » - juste un nombre de départ fantaisiste.

Étape 2 : ajouter les ingrédients un par un (traitement des données)

Vous commencez maintenant à ajouter vos ingrédients, un par un : disons une fraise, puis une banane, puis du miel. Chacun d'entre eux représente un octet de données.

Étape 3 : Mélangez avec un multiplicateur secret (le FNV Prime)

Après avoir ajouté chaque ingrédient, appuyez sur le bouton de mélange, mais voici le truc en plus : le mixeur multiplie le tout par un « nombre magique » secret appelé le nombre prime FNV. Cela permet de bien mélanger les ingrédients.

Étape 4 : ajoutez une touche de magie (opération XOR)

Avant d'ajouter l'ingrédient suivant, saupoudrez un peu de poudre magique (c'est l'opération XOR). C'est comme inverser la saveur de manière inattendue, en s'assurant que même les petits changements font une grande différence.

Étape 5 : Répétez jusqu'à ce que vous ayez terminé

Vous continuez à mélanger et à saupoudrer de magie après chaque nouvel ingrédient jusqu'à ce que vous ayez tout traité.

Étape 6 : Smoothie final (valeur de hachage)

Une fois terminé, versez le smoothie. Le goût final (la valeur de hachage) est unique à cette combinaison exacte d'ingrédients. Si vous aviez ajouté ne serait-ce qu'une myrtille supplémentaire, le goût aurait été complètement différent.

La version présentée ici est la version améliorée FNV-1a 32 bits. Si vous avez besoin de la version originale, j'ai aussi une calculatrice pour cela : Calculateur de code de hachage Fowler-Noll-Vo FNV1-32

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.