It won't be as fast as a GPU, but a simple brute force script like the following python code:
def ipv4_md5_search(hash, range_start=0, range_end=256):
for a in range(range_start, range_end):
print a, time.ctime() # show progress every time new value of a is done.
for b in range(256):
for c in range(256):
for d in range(256):
h = hashlib.md5('%s.%s.%s.%s' % (a,b,c,d)).hexdigest()
if h == hash:
print "No match found"
will find the answer in about an hour (worst case) and will be significantly quicker if you parallelize it. E.g., on a hyperthreaded quad-core CPU, just launch 8 processes doing:
and it will speed it up by a factor of 8. I won't post the whole thing, but will say an IPv4 address in dotted decimal notation matches your MD5 hash and the correct match starts with
84.200 (in the format
x.x.x.x - no newlines or spaces or anything else). Took me about ~15 minutes to find including time to script up and launch the tasks.