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)
编辑:实际上,这是错误的 -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
是不正确的。但是写出十六进制字符串的正确方法是什么?