Tool to decrypt/encrypt MD5 function automatically, decryption via a huge dictionary of potential passwords.
MD5 - dCode
Tag(s) : Hashing Function, Modern Cryptography
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!
MD5 (for Message Digest Algorithm 5) is a hash function used to produce a unique digital fingerprint for a piece of data (such as a password or a file).
This fingerprint therefore makes it possible to identify the initial data, which is very practical in computer science and cryptography.
MD5 is also the name given to the fingerprint (result of this hash function), it is generally represented as a series of 32 hexadecimal characters (128 bits).
MD5 hash calculates from binary data a numeric footprint of 128 bits. The algorithm uses nonlinear 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
The MD5 is based on non-linear and unidirectional functions (therefore non-reversible), so there is no reverse decryption method md5decrypt().
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.
The hash is composed of 32 hexadecimal characters 0123456789abcdef, so 128 bits.
The characters are close to random, therefore unpredictable with high entropy.
MD5 is used for file integrity verification, creating digital signatures, and in certain security protocols.
However, its use is now discouraged for the security of sensitive data such as passwords.
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.
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 (passwords databases), it is recommended to add salt (a prefix or a suffix) to the password. With this salting step, 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.
MD5 stands for Message Digest 5, referring to its function of obtaining a summary (digest) of messages.
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:
String | MD5(String) |
---|---|
ABJIHVY | 0e755264355178451322893275696586 |
DQWRASX | 0e742373665639232907775599582643 |
DYAXWCA | 0e424759758842488633464374063001 |
EEIZDOI | 0e782601363539291779881938479162 |
GEGHBXL | 0e248776895502908863709684713578 |
GGHMVOE | 0e362766013028313274586933780773 |
GZECLQZ | 0e537612333747236407713628225676 |
IHKFRNS | 0e256160682445802696926137988570 |
MAUXXQC | 0e478478466848439040434801845361 |
MMHUWUV | 0e701732711630150438129209816536 |
NOOPCJF | 0e818888003657176127862245791911 |
NWWKITQ | 0e763082070976038347657360817689 |
PJNPDWY | 0e291529052894702774557631701704 |
QLTHNDT | 0e405967825401955372549139051580 |
QNKCDZO | 0e830400451993494058024219903391 |
Bonus strings that can also be evaluated at 0: 0e215962017, 0e730083352, 0e807097110, 0e840922711
The MD5 was invented by Ronald Rivest in 1991 to replace its predecessor, MD4.
dCode retains ownership of the "MD5" source code. Except explicit open source licence (indicated Creative Commons / free), the "MD5" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or the "MD5" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "MD5" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!
Reminder : dCode is free to use.
The copy-paste of the page "MD5" or any of its results, is allowed (even for commercial purposes) as long as you credit dCode!
Exporting results as a .csv or .txt file is free by clicking on the export icon
Cite as source (bibliography):
MD5 on dCode.fr [online website], retrieved on 2024-12-21,