My code looks as follows:
md = input("MD5 Hash: ")
if len(md) != 32:
print("Don't MD5 Hash.")
else:
liste = input("Wordlist: ")
ac = open(liste).readlines()
for new in ac:
new = new.split()
hs = hashlib.md5(new).hexdigest()
if hs == md:
print("MD5 HASH CRACKED : ",new)
else:
print("Sorry :( Don't Cracked.")
But, I get this error when I run it:
hs = hashlib.md5(new).hexdigest()
TypeError: object supporting the buffer API required
How do I solve this? "b" bytes?
Whatever the case, by calling split()
on new
you create a list
object and not an str
; lists do not support the Buffer API. Maybe you were looking for strip()
in order to remove any trailing/leading white space?
Either way, the resulting str
from new.strip()
(or split()
if you select an element of the resulting list) should be encoded since unicode objects must be encoded before feeding it to a hashing algorithms' initializer.
new = new.strip() # or new.split()[index]
hs = hashlib.md5(new.encode()).hexdigest()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With