Hachage
Un hachage est une fonction qui convertit une valeur en une autre. Le hachage des données est une pratique courante en informatique et est utilisé à plusieurs fins. Il peut notamment servir à la cryptographie, à la compression, à la génération de sommes de contrôle et à l’indexation des données.
Le hachage convient naturellement à la cryptographie, car il masque les données d’origine avec une autre valeur. Une fonction de hachage peut être utilisée pour générer une valeur qui ne peut être décodée qu’en recherchant cette valeur dans une table de hachage. La table peut être un tableau, une base de données ou une autre structure de données. Une bonne fonction de hachage cryptographique est non inversible, ce qui signifie qu’il est impossible de retrouver les données d’origine à partir du résultat.
Différents types de compression, comme la compression d’images avec perte et la compression multimédia, peuvent intégrer des fonctions de hachage pour réduire la taille des fichiers. En condensant les données en valeurs plus petites, les fichiers multimédias peuvent être compressés en blocs plus petits. Ce type de hachage à sens unique ne peut pas être inversé, mais il peut produire une approximation des données d’origine qui occupe moins d’espace disque.
Les hachages servent également à créer des sommes de contrôle, qui vérifient l’intégrité des fichiers. Une somme de contrôle est une petite valeur générée à partir des bits d’un fichier ou d’un bloc de données tel qu’une image disque. Lorsque la fonction de somme de contrôle est exécutée sur une copie du fichier, par exemple un fichier téléchargé depuis Internet, elle devrait produire la même valeur hachée que pour le fichier d’origine. Si le fichier ne produit pas la même somme de contrôle, cela signifie qu’un élément du fichier a été modifié.
Enfin, les hachages servent à indexer les données. Les valeurs hachées peuvent être utilisées pour associer les données à des « compartiments » individuels au sein d’une table de hachage. Chaque compartiment possède un identifiant unique qui sert de pointeur vers les données d’origine. Cela crée un index nettement plus petit que les données d’origine, ce qui permet de rechercher et d’accéder aux valeurs plus efficacement.
Testez vos connaissances