sec-pentesting-toolkit/Cryptography/Hash_Functions/SHA/sha-256-bruteforce_remove_123456789x.py
2015-01-03 20:47:39 -05:00

25 lines
526 B
Python

'''
from asis 2013
'''
from itertools import permutations
from hashlib import sha256
def test(s):
e = '9f2a579716af14400c9ba1de8682ca52c17b3ed4235ea17ac12ae78ca24876ef'
return sha256('ASIS_' + s).hexdigest() == e
m = '3c6a1c371b381c943065864b95ae5546'
s = '12456789x'
for p in permutations(s):
def f(sub, c):
if c in sub:
return sub[c]
else:
return c
sub = {c : d for c, d in zip(s, p)}
z = ''.join(f(sub, c) for c in m)
if test(z):
print z
break