i think i found a way to (*crack?) an MD5 hash... 🙂
my concept of proof, i havent try it, but maybe/should works..
let say,
md5('jimsonchang') = 67c356a7e59cda2160d0b86c389264c0
so, my goal is to know, what other strings that have the same hash like 67c356a7e59cda2160d0b86c389264c0.
if u read this thread properly, i already said that, one of the possible string that able to generate the same hash is one of the number in 1632 which is
from 00000000000000000000000000000000
to FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
ok, if we run this function,
function a() {
static $result = '67c356a7e59cda2160d0b86c389264c0';
for($i=0; $i<32^16; $i++) {
$result = md5($result);
}
}
a();
in the last day of 2365859519167786168081365 years,
we will know the 32hex chars that generated the same hash, if i am not wrong, every MD5 values is a never ending LOOP.
the last MD5 values(<- which means when $i=FFFF...E in the 2365859519167786168081365 years) will hash back to the first hash of md5 32hex chars (<- which is 67c356a7e59cda2160d0b86c389264c0 ).
so this mean, we can quickly know what 32hex that hash back to md5('jimsonchang') if we know the $result when $i = somewhere very near to FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF, so we only spend maybe few hours to know the 32hex that hash back to md5('jimsonchang').
so, this come to a problem, how to know the 32hex of the $i where $result somewhere near (F)*32 ?
and we understand that md5 will hash a totally different 32hex for the string we inserted.
The string we give it to hash is a 1632 hex character string.
so, we dont expect to see
md5('d41d8cd98f00b204e9800998ecf8427e')
= d41d8cd98f00b204e9800998ecf8427f
i found a way to guess (since the result will be completely different with the string we give in to hash) so
maybe if we
start guessing by using (F)32 minus the md5('jimsonchang') hex
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- 67c356a7e59cda2160d0b86c389264c0
= 983CA9581A6325DE9F2F4793C76D9B3F
i think
983CA9581A6325DE9F2F4793C76D9B3F
is the $result that very near to $i = (F)32
any guys who know more, please try this approach... 🙂
i see MD5 values like a circle....