Une fonction de hachage est une procédure ou une fonction mathématique bien définie qui convertit une grande quantité de données en une petite donnée, généralement un seul entier. Pour les questions sur les hashtags utilisés pour étiqueter le contenu sur les réseaux sociaux, utilisez le hashtag. Pour les questions sur les URL et les ancres HTML, utilisez un identificateur de fragment. Pour les questions sur le type de hachage de Ruby, utilisez ruby-hash.

Un hashest une procédure ou une fonction mathématique bien définie qui convertit une grande quantité de données, éventuellement de taille variable, en une petite donnée, généralement un entier unique qui peut servir comme index d'un tableau. Les valeurs renvoyées par une fonction de hachage sont appelées valeurs de hachage, hashcodes, sommes de hachage, sommes de contrôle ou simplement hachages. Une hash-collisionse produit lorsque deux datums inégaux génèrent le même code de hachage avec une fonction de hachage particulière. Cela peut avoir divers effets négatifs et de bonnes fonctions de hachage minimisent le nombre de collisions.

Pour les structures de données qui utilisent des fonctions de hachage et des codes de hachage, voir hashtable, hashset, hashmap, dictionaryet associative-array.

Une fonction de hachage cryptographiquement puissante a deux caractéristiques supplémentaires: elle est mathématiquement prouvée irréversible et minimise les collisions. L'irréversibilité signifie que les données d'origine ne peuvent pas être reconstruites à partir de son hachage. Pour des questions spécifiques sur les utilisations cryptographiques sécurisées des fonctions de hachage, utilisez le hashcombiné à la balise cryptography. Comparez avec le encryption, qui doit être réversible.

Les fonctions de hachage sont liées (et souvent confondues avec) aux sommes de contrôle, aux chiffres de contrôle, aux empreintes digitales, aux fonctions de randomisation et aux codes de correction d'erreurs. Bien que ces concepts se chevauchent dans une certaine mesure (certaines fonctions de hachage sont spécifiquement conçues pour servir également de sommes de contrôle), chacune a ses propres utilisations et exigences et est conçue et optimisée différemment.

Pour toute question sur les hashtags utilisés pour étiqueter et parcourir le contenu sur les réseaux sociaux, utilisez le hashtag. Pour toute question sur les URL et les ancres HTML, utilisez fragment-identifier. Pour toute question sur le type de hachage de Ruby, utilisez ruby-hash.