I was wondering the other day after seeing a MD5 hash that started with FFFF what the highest known MD5 hash is. Two things sprang to mind:

Calculate them.
Get them from a precalculated source.
However, in order to prove the hash I need to know the plaintext input (regardless of #1 or #2 above)

Here’s my results so far of calculating them (brute force) using a quick PHP script:

```
Found ef05e123df3ed94aad2e7427e70c11b4 for 3b2798d6fa2f48007a0923d2c67adce2 after 0 seconds
Found fac7827aa523008f5a8028415804ff52 for 98e90ef1177cb8ec55f0f57a641eded5 after 0 seconds
Found feb2e60d6cf445d1452fab4db127e223 for c9d2e63a234e99805fb3827174c0d59c after 0 seconds
Found feea2b025859f9cdd6ea3b89675ec5fe for 71e78c0d89ceea4946e666adfc658161 after 0 seconds
Found ff2901fe253e9dcf251eb4fd08b5a607 for b3b7ba8d13d60d90eb1c50f63d3139fc after 0 seconds
Found fffe6539ce6b38063f88007a93d51019 for f36178a1f7f519f011829ccbbbcebd7e after 0 seconds
Found fffe83acb84771ae5095d90b5e37bdbb for a9828df9868015f3c3c6e62427d1af4c after 0 seconds
Found ffff6eb3ec689da2b456f4f0ecea04bc for 32badbb97b9dfc596243da942f357164 after 0 seconds
Found ffff89d5762a4d60974a90cb88087adf for 2fa98a263378223db2d9391eacbfd1b9 after 0 seconds
Found ffffa222493ed83ae043bd5fb889a0b2 for 3cc5f22532ea6749ed3a6696ffec6724 after 0.2 seconds
Found ffffbf5c8af59d1cfe3f648f3e5832a1 for ef8be3890a6ea07376a1bbf89acc3c31 after 0.1 seconds
Found ffffe7d4983681ef0502e988d178bc0d for 2956750ba357d8c483884ad3a848afc8 after 0 seconds
Found ffffececb1591607b822df3fb07aeb45 for 8eba52862afb51f34aa4ee2f233f297d after 0 seconds
Found fffff08ce43692d9aec4a03ebb97f86b for 794d9dbc79d9d975075953086fc4467d after 0.4 seconds
Found fffff509f2101795f41f541e842adb6b for c4d4b40fd55740b0699f0de91b0cf03f after 0.3 seconds
Found fffff723b8c3cabc1da728b260b690fe for af9d43f3ea9b41bd8667d4295db54b7e after 0.6 seconds
Found fffffc1138c1e0b34a250fe07ef09a6b for 8f08566a6e2e1e30cee09dc60a01d0bf after 0.6 seconds
Found fffffd6ef45d29875d57e480a41b4810 for 9316f9a7e71e0e3dc17b57579d5553b0 after 0.5 seconds
Found fffffdf1eb44455ad9e260c06b7e76cb for 60df70fbcbbd66ce15218e52231fa528 after 6.1 seconds
Found ffffff2a5af6f5320a890fac7c0b6df0 for 44b2929a579afac60d3d6f93648c6c26 after 3.1 seconds
Found ffffff2f32b4a4223b1f84e2ebaf0034 for 13d46dd5d4019a73a92f20dfdafa21a3 after 1.7 seconds
Found ffffff6835c6d354247c53b50075ece7 for 0cc140fe78682e455344042b158b4bd8 after 38.7 seconds
Found ffffffc9abe3fb743d51d93ee811eb36 for 84119a2be51f725d6393bb09cf742a3d after 10.4 seconds
Found ffffffecb5fcbc99069dcbe0cb7d9c1f for eb5785d4b6e7aa1890b8c52b7a9286aa after 34.8 seconds
Found fffffff5fedfdd0975cc5bbd15245b22 for 3e057b83a6633cf169e1b744756cf6dc after 1.4 seconds
Found fffffffcd5046de2609335a4892fee18 for cd40b52bf60f374c0498e3776887d4a3 after 194.8 seconds
Found fffffffdc44a998ba534e849a229bad0 for 5cc521ecd3bbacf061039178dc3d8dd1 after 52.8 seconds
Found ffffffff26d666c2d1b338121bac7745 for d683fda21522076ca6bc02196bfb0fd3 after 583.8 seconds
Found ffffffff2ed9ef25a8d6c6ca6307fe33 for 07e99411f2f40f9ed5798d44014beab8 after 2822.9 seconds
Found ffffffff462502bd74c1d45c773a0cbd for 916a5b8a560e2ab3d3d9dd24e3a84ca4 after 7813.4 seconds
Found ffffffff933bbf7c89fbf8c267318692 for 4d038c61b0420e0fb638094cbc43a2d5 after 29874.5 seconds
Found fffffffff5f802305027495001760806 for 2db60fc10035ed9198bd42d716e28ca4 after 10511.8 seconds
```

You can see that at first it’s easy to find larger ones, but as time goes on it gets exponentially harder to find them. As of the hash ffffffff462502bd74c1d45c773a0cbd I’ve already discarded my way to the top 99.999999983% of the key space, but getting anything further out is going to be tricky.

Update: Next two were found after ~30,000 and ~10,000 seconds respectively.

As for finding the largest value from a Rainbow table, well you’ll have to come back when I’ve figured that out.