Qu'est-ce qu'un hachage ? MD5, SHA-256 et quand vous avez réellement besoin de HMAC
Les fonctions de hachage transforment n'importe quelle entrée en une empreinte digitale de longueur fixe, mais tous les hachages ne sont pas créés égaux. Choisir entre MD5, SHA-256 et HMAC fait la différence entre un contrôle de sécurité fonctionnel et un contrôle qui échoue silencieusement. Ce guide explique ce que chacun fait, quand l'utiliser et comment vérifier vos propres hachages directement dans votre navigateur.
Qu'est-ce qu'une fonction de hachage ?
Une fonction de hachage prend n'importe quelle quantité de données (texte, fichier, mot de passe) et produit une chaîne de caractères de longueur fixe. La même entrée produit toujours la même sortie, ce qui rend les hachages utiles pour la vérification. Modifiez ne serait-ce qu'un seul caractère dans l'entrée et le hachage change complètement. Cette propriété à sens unique (vous ne pouvez pas inverser un hachage pour récupérer les données d'origine) est ce qui la rend utile pour la sécurité.
MD5 : rapide mais cassé
MD5 produit un hachage de 128 bits et était autrefois la norme pour les sommes de contrôle et la vérification des fichiers. Aujourd’hui, il est cryptographiquement brisé : les collisions (deux entrées différentes produisant le même hachage) sont rapides à trouver. MD5 apparaît toujours dans les systèmes existants et pour les sommes de contrôle non liées à la sécurité, mais jamais pour l'authentification ou les mots de passe. Utilisez le Générateur de hachage pour voir la sortie MD5, mais utilisez SHA-256 pour tout ce qui compte.
SHA-256 : la norme actuelle
SHA-256 (qui fait partie de la famille SHA-2) produit un hachage de 256 bits et constitue le choix moderne pour le travail cryptographique. Il est suffisamment rapide pour la plupart des applications, résistant aux attaques connues et largement pris en charge. Tu verras SHA-256 utilisé dans les systèmes blockchain, les empreintes digitales des certificats et le hachage des mots de passe. Le Générateur de hachage prend en charge SHA-256 comme algorithme par défaut.
HMAC : quand vous avez besoin d'un secret
Une fonction de hachage simple est déterministe : n'importe qui peut vérifier le hachage. Un HMAC (Hash-based Message Authentication Code) est mélangé à une clé secrète, de sorte que seule une personne connaissant la clé peut produire le hachage correct. C'est essentiel pour les API : le serveur et le client partagent un secret, chacun signe ses messages avec, et le destinataire vérifie que la signature correspond. Cela prouve que le message provient de l'expéditeur revendiqué et n'a pas été falsifié. Le Générateur HMAC vous permet de tester cela avec votre propre clé secrète.
Quand utiliser chaque approche
- Utiliser simple
SHA-256pour les contrôles d'intégrité des fichiers, le hachage de mot de passe (avec salt et une fonction lente comme bcrypt) et les empreintes digitales publiques. - Utiliser
HMACpour la signature des demandes d'API, la vérification des webhooks et tout scénario dans lequel les deux parties partagent un secret. - Sauter
MD5pour tout ce qui concerne la sécurité. Utilisez-le uniquement lorsque vous interagissez avec des systèmes existants qui le nécessitent.
Vos données restent sur votre appareil
Les deux Générateur de hachage et Générateur HMAC s'exécute entièrement dans votre navigateur. Votre texte n'est jamais envoyé à un serveur : il est haché localement sur votre appareil, fonctionne hors ligne après le chargement de la page et ne nécessite aucun compte ni connexion. Cela signifie que vous pouvez hacher en toute sécurité des informations sensibles telles que les clés API à des fins de test sans les exposer à Internet.
Bonus : mesurer l'entropie
Si vous générez des secrets ou des mots de passe, le Entropie de Shannon La calculatrice montre le degré de hasard (et donc de sécurité) présent dans une chaîne. Une entropie plus élevée signifie plus difficile à deviner. Utilisez-le pour vérifier que vos secrets générés sont réellement aléatoires avant de les déployer.