코드 (추에 대한 사과), 나는이 급류에 대한 해시를 계산하기 위해 실행하는거야하지만 전송에 직접 그 토런트를 열 때 그것은 나에게와 다른 대답을주고있다 :Python3 계산 토런트 해시
I을 이 페이지에 r_000에서 테스트 해요 : 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)
내가 망쳤다는 아이디어가 있습니까? 감사!
. [이 대답] (https://stackoverflow.com/a/28162042/3151902)을보십시오. – user3151902
'info'-dictionary 대신'pieces'-value를 해싱 한 것 같습니다. – Encombe
그래, 한 걸음 물러서서 다시보아야했습니다. 좋아, 솔루션은 전체 정보 사전을 bencode 한 다음 해시하는 것입니다. –