from libtorrent as lt
info = lt.torrent_info(open('example.torrent','rb').read())
info.info_hash()
これはハッシュを取得せず、代わりにオブジェクトを取得します<libtorrent.big_number object at ...... >
私は何をすべきか?
from libtorrent as lt
info = lt.torrent_info(open('example.torrent','rb').read())
info.info_hash()
これはハッシュを取得せず、代わりにオブジェクトを取得します<libtorrent.big_number object at ...... >
私は何をすべきか?
既存の回答は、必要なものすべてを提供します...しかし、それを明示するためのコードを次に示します。
import libtorrent as lt
info = lt.torrent_info(open('example.torrent','rb').read())
info_hash = info.info_hash()
hexadecimal = str(info_hash)
integer = int(hexadecimal, 16)
EDIT : 実際には、それは間違っています - torrent_info()
torrent ファイルの長さとその内容を渡す必要があります。改訂(作業)バージョン:
import libtorrent as lt
torrent = open('example.torrent','rb').read()
info = lt.torrent_info(torrent, len(torrent))
info_hash = info.info_hash()
hexadecimal = str(info_hash)
integer = int(hexadecimal, 16)
http://www.rasterbar.com/products/libtorrent/manual.html#torrent-infoによると
info_hash() returns the 20-bytes sha1-hash for the info-section of the torrent file.
For more information on the sha1_hash, see the [big_number] class.
したがって、http://www.rasterbar.com/products/libtorrent/manual.html#big-number
バイトを反復処理するだけで、ハッシュが得られます。
電話するだけstr(info.info_hash())
です。
編集:実際にstr
は正しくありません。しかし、16 進文字列を書き出す正しい方法は何でしょうか?