14
I recently read Jeff's blog post entitled Speed Hashing, where amongst other things he mentions that you can hash things really fast by harnessing the power of your GPU.
I was wondering whether or not it was possible to harness the power of the GPU to hash things in Python (md5, sha-1 etc)?
I'm interested in this for trying to see how fast I can brute-force things (not real world stuff, from old leaked data dumps).
At the moment, I'm doing this sort of thing (simplified example):
from itertools import product
from hashlib import md5
hashes = ["some","hashes"]
chars = []
for i in range(97,123): # a-z only
chars.append(chr(i))
for i in range(1,6): # all combos of a-z, 1-5 chars
for c in product(chars,repeat=i):
s = ''.join(c)
if md5(s).hexdigest() in hashes:
print "Found",s
But I was wondering whether there was a way to speed that up using the GPU? I'm guessing I'm going to need a module that would serially generate hashes like this - does anyone know of one?