Qu'est-ce qu'une calculatrice de hachage?
Une calculatrice de hachage peut comporter plusieurs éléments, mais désigne, dans un sens très général, un programme ou une fonction qui accepte un type d’entrée, puis exécute cette entrée via un algorithme pour créer une valeur de sortie, telle qu'un grand nombre ou un bloc de valeurs. symboles. Le terme est souvent utilisé dans la transmission de données pour faire référence à un programme qui crée un type de clé avec un algorithme afin que toute personne recevant les données transmises puisse utiliser le même algorithme pour obtenir la même clé afin de voir si les données sont arrivées intactes et non modifiées. En programmation informatique, le terme "calculateur de hachage" peut être utilisé pour indiquer une fonction de hachage qui transforme un type de données en une clé de hachage qui est ensuite traitée par un autre algorithme pour créer un index dans un tableau dans lequel les informations peuvent être stockées. Bien que les deux concepts de la calculatrice soient similaires, les résultats sont très différents et ne sont généralement pas interchangeables. Une propriété commune des calculateurs de hachage, quelle que soit leur utilisation, est que la valeur de hachage générée sera toujours la même pour une donnée donnée, quels que soient le lieu ou le moment de l'exécution du programme.
À la base, une calculatrice de hachage est simplement un programme ou une fonction qui crée un hachage à partir de certaines données. Un hachage est juste un mot pour une valeur et peut aller d'un nombre à une chaîne de centaines de caractères alphanumériques, en fonction de la manière dont il est utilisé. Les données qui sont ajoutées à une calculatrice de hachage pour créer un hachage peuvent aussi être presque n'importe quoi. Lorsqu'il est utilisé pour la vérification d'erreur dans la transmission de données, la source d'une valeur de hachage est généralement un document complet ou un fichier de données, tel qu'un courrier électronique ou un fichier image. En programmation, étant donné que la valeur de hachage est utilisée pour déterminer où les enregistrements de données sont stockés dans une table de hachage, la valeur d'entrée correspond généralement à une partie d'un enregistrement de données unique, telle que le nom de famille d'une personne, un numéro de téléphone ou un numéro de téléphone. numéro de compte.
Dans le cas de la transmission de données, un calculateur de hachage utilise l'un des centaines d'algorithmes mathématiques différents pour créer la valeur de hachage unique pour les informations transmises. Cela peut être aussi simple que d’ajouter toutes les valeurs de tous les octets d’un fichier, auquel cas la valeur de hachage est la somme. Cela peut aussi être beaucoup plus complexe, impliquant le comptage de blocs de bits ou le traitement redondant de différentes séquences de nombres. Cependant, l'un des aspects les plus importants de tout algorithme de hachage est que la valeur de hachage résultante doit toujours être la même si les mêmes données sont utilisées en tant qu'entrée. Ce concept signifie que, si un fichier est transmis avec sa propre valeur de hachage calculée, le destinataire des données peut utiliser un calculateur de hachage avec le même algorithme pour déterminer si les valeurs de hachage de la correspondance de données vérifient que les données ont été reçues intactes. et sans erreurs ou changements.
En programmation, le terme "calculateur de hachage" est fréquemment utilisé pour décrire une fonction qui convertit une donnée en une valeur de hachage. Contrairement à la transmission de données, le numéro généré par la calculatrice dans ce cas n'est pas nécessairement utilisé pour la vérification, mais pour calculer un index dans une table de hachage où les informations seront stockées. Une valeur de hachage intermédiaire est calculée pour permettre à un plus grand nombre d'enregistrements de données d'être placés de manière prévisible dans une table de hachage plus petite, certains enregistrements générant les mêmes valeurs dans certaines circonstances. L’algorithme utilisé pour calculer une valeur de hachage et les données utilisées en entrée sont assez arbitraires pour une table de hachage et généralement spécifiques à une application.