1. ホーム
  2. python

[解決済み] Python AttributeError: 'tuple' オブジェクトは hashlib.encode に 'encode' 属性がない

2022-02-09 21:39:27

質問

私のコード

    for chars in chain(ALC, product(ALC, repeat=2), product(ALC, repeat=3)):
    a = hashlib.md5()
    a.update(chars.encode('utf-8'))
    print(''.join(chars))
    print(a.hexdigest())

投げ返される。

Traceback (most recent call last):
File "pyCrack.py", line 18, in <module>
a.update(chars.encode('utf-8'))
AttributeError: 'tuple' object has no attribute 'encode'

フル出力です。 http://pastebin.com/p1rEcn9H aa"に進もうとするとエラーになるようです。 どのように修正すればよいのでしょうか?

解決方法を教えてください。

あなたは chain これは頭痛の種になります。

おそらく ALC は文字列なので chain は、まず文字列からすべての文字を出力します。 次に product(ALC, repeat=2) を生成し始めます。 tuple は、そのように product が動作します。

同種の型を chain の呼び出し(つまり、常にタプルを生成する。 join 文字列が必要なときにそれらを使用する)、頭痛は消えます。

for chars in chain(*[product(ALC, repeat=n) for n in range(1,4)]):
    ...
    a.update(''.join(chars).encode('utf-8'))