練習用にmd5クラッカーを作成しようとしています。先に進む前に、ここに私のコードがあります:
def offline_wordlist_attack(list_path):
with fileinput.input(files=(list_path)) as wordlist:
for word in wordlist:
md5_hash_object = hashlib.md5() # constructing an md5 hash object
md5_hash_object.update(binascii.a2b_uu(word))
word_digest = md5_hash_object.digest() # performing the md5 digestion of the word
print(word_digest) # Debug
私の問題はmd5_hash_object.update(binascii.a2b_uu(word))
です。hashlib Python 3のドキュメントには、渡される文字列はバイナリ表現update()
である必要があると記載されています。ドキュメントは例として使用します。私のコードでは、変数の前に単純にアタッチすることはできません。そこで、 binasciiライブラリを使用しようとしましたが、そのライブラリにも、ドキュメントに次のような注記があります。m.update(b"Nobody inspects")
b
word
ノート
エンコードおよびデコード関数はUnicode文字列を受け入れません。処理できるのはbytestringオブジェクトとbytearrayオブジェクトのみです。
誰かがこれを手伝ってくれませんか?それは私を良くしている。