コード(醜さのために謝罪を)計算し、私は急流のためのハッシュを計算し、これを実行しているが、それは私がトランスミッションに直接その急流を開くとは異なる答えを与えている:のpython3は、以下の急流のハッシュ
Iこのページのr_000の「M・テスト:http://gen.lib.rus.ec/repository_torrent/
送信は私を与える:63a04291a8b266d968aa7ab8a276543fa63a9e84
私のコードは私に与える:1882ff6534ee4aa660e2fbf225c1796638bea4c0
import bencoding
from io import BytesIO
import binascii
import hashlib
with open("cache/r_000.torrent", "rb") as f:
data = bencoding.bdecode(f.read())
info = data[b'info']
hashed_info = hashlib.sha1(info[b'pieces']).hexdigest()
print(hashed_info)
0123を
私は何をねじ込みましたか?ありがとう!
。 [この回答](https://stackoverflow.com/a/28162042/3151902)をご覧ください。 – user3151902
あなたは 'info'-dictionaryの代わりに' pieces'-valueをハッシュしているようです。 – Encombe
うん、やり直してもう一度見てください。さて、解決策は、情報辞書全体をbencodeし、それをハッシュすることです。 –