Encryption & Decryption Md5




Decryption Md5 :


Le Md5 (Message Digest 5) est une fonction cryptographique qui permet de "hasher" (encrypter) une séquence numérique en un hash md5 de 128 bits, soit 32 caractères, et ce peu importe la longueur de la séquence originale. Ce système cryptographique est irréversible, il n'est pas possible d'obtenir la séquence originale (de décrypter) en utilisant seulement le hash md5. La seule façon de décrypter le hash est donc de le comparer à une base contenant les hashs md5 en ligne et leur séquence correspondante. Ce site se sert d'une base de 15183605161 hashs md5 pour vous proposer une séquence correspondante à votre hash afin de le décrypter. Une fonction de hachage de séquence (encryption md5) est aussi disponible, nous ne stockons pas les mots que vous encryptez. Le dictionnaire utilisé provient de tous les dictionnaires (wordlists) que j'ai pu trouver sur internet, compilés, triés, puis élargis grâce à un script de ma fabrication. Après plusieurs jours de calculs, j'en suis arrivé à une base de données unique et pertinente.

Le md5 n'est plus considéré comme sûr depuis un certain temps. En 2004 une collision complète a été découverte par des chercheurs chinois. Depuis cette date, les collisions sont de plus en plus facilitées notamment par l'amélioration de la puissance de traitement des ordinateurs. Il est maintenant possible de trouver une collision en md5 en moins de quelques minutes. Si vous voulez en apprendre plus sur les collisions md5, vous pouvez consulter ce lien. Il est maintenant conseillé d'utiliser le sha256, 512, bcrypt, scrypt ou whirlpool pour stocker vos mots de passe.
Si toutefois vous souhaitez conserver le md5 comme fonction de hachage pour votre site, il est conseillé d'utiliser un "salt" pour le rendre plus difficile à cracker par brute-force (et par rainbow tables). Un salt est simplement une chaîne de caractère que l'on ajoute au mot de passe fourni par l'utilisateur pour le rendre plus compliqué à casser. Par exemple, si on utilise le mot de passe "password", qui est évidemment très facile à casser. Il suffit de lui concaténer une chaîne de caractère aléatoire créee via une fonction en php par exemple. Imaginons une chaîne de caractère utilisant tous les caractères alphanumériques et de 14 caractères de long, par exemple a~/!c^12/*bn@(. Si on concatène ceci à "password", cela donne a~/!c^12/*bn@(password. Il est évident que ce mot de passe sera difficilement trouvable dans une base de données en ligne. Vous pouvez aussi séparer le salt en deux mots de taille égale et les concaténer en début et en fin de mot de passe par exemple. Par ailleurs, si vous cherchez une astuce pour créer un mot de passe simple à se souvenir en tant qu'utilisateur, mais aussi résistant au bruteforce et aux rainbow tables, vous pouvez utiliser une passphrase. Par exemple jemesouviensdecemotdepassecestsur. Cela présente l'avantage d'être facile à se remémorer, et d'être très difficile à casser. Pour peu que vous ajoutiez une majuscule et un chiffre le mot de passe sera très difficile à cracker, même si un bruteforce bien fait grâce à l'outil hashcat utilisant un dictionnaire efficace et des règles est en capacité de casser des passphrases, cela reste quand même bien plus ardu qu'un simple password.