Search for a tool

Tool to decrypt/encrypt MD5 automatically. MD5 hash of a data is a footprint of 32 characters which can identify the initial data. Hash functions are used in computers and cryptography.


MD5 -

Tag(s) : Hashing Function, Modern Cryptography

dCode and more

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!

Please, check our dCode Discord community for help requests!
NB: for encrypted messages, test our automatic cipher identifier!

Thanks to your feedback and relevant comments, dCode has developed the best 'MD5' tool, so feel free to write! Thank you!


MD5 Decoder


MD5 Encoder


Answers to Questions (FAQ)

How to encrypt in MD5?

MD5 hash calculates from binary data a numeric footprint of 32 hexadecimal characters. The algorithm uses non linear function, here are the 4 main ones:

$$ F(B,C,D) = (B\wedge{C}) \vee (\neg{B} \wedge{D}) $$

$$ G(B,C,D) = (B\wedge{D}) \vee (C \wedge \neg{D}) $$

$$ H(B,C,D) = B \oplus C \oplus D $$

$$ I(B,C,D) = C \oplus (B \vee \neg{D}) $$

Example: dCode is crypted e9837d47b610ee29399831f917791a44 it is not the same hash for dcode (without uppercase) which gives a9d3d129549e80065aa8e109ec40a7c8

How to decrypt MD5 cipher?

The MD5 is based on non-linear (and sometimes non-reversible) functions, so there is no decryption method.

However, a stupid and brute method, the most basic but also the longest and most costly method, is to test one by one all the possible words in a given dictionary to check if their fingerprint is the matching one.

dCode uses its databases of words (2 million potential passwords) whose MD5 hash has already been pre-calculated. These tables are called rainbow tables.

If a word is not in the dictionary, then the decryption will fail.

How to recognize MD5 ciphertext?

The hash is composed of 32 hexadecimal characters 0123456789abcdef, so 128 bits.

What is a MD5 collision?

Statistically speaking, for any string (and there is an infinite number), the MD5 associates for a given value a 128-bit fingerprint (a finite number of possibilities). It is therefore mandatory that there are collisions (2 strings with the same hash). Several research works on the subject have demonstrated that the MD5 algorithm, although creating a large entropy of data, could be attacked, and that it was possible to generate chains with the same fingerprints (after several hours of neat calculations).

Example: Discovered by Wang & Yu in How to break MD5 and other hash functions, the two hexadecimal values (the values and not the ASCII string) 4dc968ff0ee35c209572d4777b721587d36fa7b21bdc56b74a3dc0783e7b9518afbfa200a8284bf36e8e4b55b35f427593d849676da0d1555d8360fb5f07fea2 4dc968ff0ee35c209572d4777b721587d36fa7b21bdc56b74a3dc0783e7b9518afbfa202a8284bf36e8e4b55b35f427593d849676da0d1d55d8360fb5f07fea2 have the same hash: '008ee33a9d58b51cfeb425b0959121c9 (they only differ by 8 hexadecimal digits)

Since this publication in 2005, MD5 encryption is no longer considered cryptographically, giving way to its successors: SHA1 then SHA256.

What are the variants of the MD5 cipher?

The MD5 is threatened by the growing computing capabilities of supercomputers and processors capable of parallelizing hash functions. Thus, to complicate the search by the rainbow tables (databases), it is recommended to add salt (a prefix or a suffix) to the password. In this way, the precalculated tables must be calculated again to take account of the salt which systematically modifies all the fingerprints.

Example: MD5(dCode) = e9837d47b610ee29399831f917791a44 but MD5(dCodeSUFFIX) = 523e9a807fc1d2766c3e3d8f132d4991

Another variant is the application of DOUBLE MD5, which consists in applying the hash algorithm twice.

Example: MD5(dCode) = e9837d47b610ee29399831f917791a44 but MD5(MD5(dCode)) = c1127c7b6fdcafd97a96b37eaf035eaf

MD5 is not the only hash function, it also exists SHA1, SHA256, SHA512 etc.

What does MD5 means?

MD5 stands for Message Digest 5

What is the list of MD5 Magic Hashes for PHP?

The PHP language has a default functionality: the type juggling which allows to not define the type of variable used, the PHP engine tries to automatically detect if the variable is a string, an integer, etc.

However this functionality can become a flaw when handling MD5 string whose value has the form 0e followed by digits between 0 and 9. Indeed, in this case, the PHP engine will convert the string into a floating number having the value 0.

Here is a list of magic MD5 hashes:


Bonus strings that can also be evaluated at 0: 0e215962017, 0e730083352, 0e807097110, 0e840922711

When MD5 have been invented?

By Ronald Rivest in 1991

Source code

dCode retains ownership of the online 'MD5' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any 'MD5' algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any 'MD5' function (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and no data download, script, copy-paste, or API access for 'MD5' will be for free, same for offline use on PC, tablet, iPhone or Android ! dCode is free and online.

Need Help ?

Please, check our dCode Discord community for help requests!
NB: for encrypted messages, test our automatic cipher identifier!

Questions / Comments

Thanks to your feedback and relevant comments, dCode has developed the best 'MD5' tool, so feel free to write! Thank you!

Source :
© 2021 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.