Outil pour décoder/encoder avec les fonctions de Hachage (MD5, SHA1, SHA256, bcrypt, etc.) automatiquement. Le hachage d'une donnée lui fait correspondre une empreinte qui permet d'identifier avec une grande probabilité la données initiale (très utile en informatique et en cryptographie).
Fonction de Hachage - dCode
Catégorie(s) : Cryptographie Moderne, Informatique
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Ecrire à dCode !
Les fonctions de hachage utilisent les données informatiques (en format binaire) et leur applique des fonctions non linéaires et non réversibles ayant un fort effet avalanche (le résultat est très différent même si les données d'entrée sont très similaire). L'empreinte numérique est généralement renvoyée sous forme de caractères hexadécimaux.
Exemple : dCode a pour hash MD5 e9837d47b610ee29399831f917791a44
Exemple : dCode a pour empreinte SHA1 15fc6eed5ed024bfb86c4130f998dde437f528ee
Exemple : dCode a pour empreinte SHA256 254cd63ece8595b5c503783d596803f1552e0733d02fe4080b217eadb17711dd
Voir les pages de dCode pour chaque fonction de hachage pour connaitre son fonctionnement en détail : MD5, SHA1, SHA256, etc.
Le principe du hash est de ne pas être réversible, il n'existe pas d'algorithme de déchiffrement, c'est d'ailleurs pour celà qu'ils sont utilisés pour le stockage des mots de passe : un enregistrement chiffré et non déchiffrable.
Exemple : 123+456=579, à partir de 579 comment retrouver 123 et 456 ? Ce n'est pas possible sauf en essayant toutes les combinaisons possibles.
Les fonctions de hashage appliquent des millions de fois des opérations non réversibles afin que les données en entrée ne soient pas retrouvables.
Les fonctions de hachage sont créées pour ne pas être déchiffrables, leurs algorithmes sont publics. Le seul moyen de déchiffrer un hash est de disposer de la donnée en entrée.
Théoriquement, un mode brute-force est possible en testant toutes les chaines binaires, mais un court message de 6 octets représente déjà 281000 milliards de combinaisons. Même avec des processeurs rapides capable de réaliser des millions de calculs de hachage par seconde, plusieurs jours, mois ou années de calculs sont donc nécessaires pour tenter toutes les possibilités afion de retrouver un seul hash.
Cependant, les utilisateurs utilisent généralement toujours les mêmes mots de passe et certains caractères plus que d'autres, il est donc envisageable de stocker les chaines binaires les plus probables et leurs hachages respectifs dans un très grand dictionnaire. Ces dictionnaires s'appellent des tables arc-en-ciel (rainbow tables). Ces tables permettent de tester tous les mots d'un dictionnaire donné pour vérifier si leur empreinte correspond à celle recherchée.
Exemple : dCode utilise ses bases de données de mots et mots de passe avec des millions de hashs pré-calculés.
Si le mot n'est pas dans le dictionnaire, alors il n'y aura pas de résultat.
Un hash peut prendre de multiples formes, mais les plus classiques sont des chaines hexadécimales : 32 caractères 0123456789abcdef pour le MD5, 40 pour le SHA-1, 64 pour le SHA-256, etc.
Le système de codage basé sur bcrypt utilise le symbole $ suivi d'un chiffre indiquant l'algorithme utilisé et ses éventuels paramètres.
Les tables arc-en-ciel (gigantesques bases de données de correspondances entre hash et mot de passe) s'agrandissant de jour en jour et accumulant les mots de passe dérobés sur divers sites, et profitant des performances de calculs des ordinateurs, permettent aujourd'hui de déchiffrer les mots de passes courts/passwords en quelques minutes/heures.
Afin de contrer cette technique, il est recommandé d'ajouter du sel (des caractères en préfixe ou en suffixe) au mot de passe. De cette manière, les tables précalculées doivent à nouveau être calculées afin de tenir compte du sel (salt en anglais) qui modifie toutes les empreintes, c'est l'étape de salage, les mots de passe sont dits salés.
Exemple : MD5(dCode) = e9837d47b610ee29399831f917791a44 et MD5(dCodeSUFFIX) = 523e9a807fc1d2766c3e3d8f132d4991
Le cout est la mesure des ressources nécessaires pour calculer un hash. Afin de compliquer la tache de création des tables arc-en-ciel, il est possible de complexifier certains hash afin que les calculs prennent plusieurs millisecondes voire secondes, ce qui rend la durée nécessaire aux attaques trop grande pour être applicables.
bcrypt est une bibliothèque de fonctions cryptographiques qui applique des règles de récurrence sur les fonctions de hashage. Nativement, les notions de sel et de cout sont applicables.
dCode se réserve la propriété du code source de l'outil 'Fonction de Hachage' en ligne. Sauf code licence open source explicite (indiqué CC / Creative Commons / gratuit), tout algorithme pour 'Fonction de Hachage', applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction liée à 'Fonction de Hachage' (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codé en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) aucune donnée, téléchargement, script, copier-coller, ou accès API à 'Fonction de Hachage' ne sera cédé gratuitement, idem pour un usage hors ligne, PC, tablette, appli iPhone ou Android ! dCode est gratuit est en ligne.
Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !
Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Fonction de Hachage', alors écrivez-nous c'est gratuit ! Merci !