从 ruby​​ 中的 Torrent 文件中提取哈希值

发布于 11-17 01:41 字数 276 浏览 3 评论 0原文

我希望提取 torrent 文件的哈希标识符。

特别是,我正在寻找打开 torrent 信息对话时 Transmission/uTorrent 中显示的相同哈希值(看起来像这样:7b435a6f051dec092a6ee440d793bfed6696cfa1)

认为它是信息字典中的 SHA1 哈希值在 torrent 文件上。如果我将二进制文件数据从一个字节解析到另一个字节,然后执行 SHA1 哈希加密,我就可以得到它。

有谁有更好的理解或有一些代码可以做到这一点?

I was hoping to extract the hash identifier for a torrent file.

Particularly, I'm looking for the same hash that shows up in Transmission/uTorrent upon opening up a torrent info dialogue (It looks like this: 7b435a6f051dec092a6ee440d793bfed6696cfa1)

I think that it's the SHA1 hash from the info dictionary on the torrent file. If I were to parse over the binary file data from one byte to another byte, then perform a SHA1 hash encryption I could get it.

Does anyone have a better understanding or have some code that could do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

江南月2024-11-24 01:41:38

使用 bencode gem:

require 'bencode'
require 'digest/sha1'

meta = BEncode.load_file(file) # File or file path
info_hash = Digest::SHA1.hexdigest(meta["info"].bencode)

Using the bencode gem:

require 'bencode'
require 'digest/sha1'

meta = BEncode.load_file(file) # File or file path
info_hash = Digest::SHA1.hexdigest(meta["info"].bencode)
无语#2024-11-24 01:41:38

您可以尝试 RubyTorrent,这里有一个如何从 .t​​orrent 文件转储元数据的示例:< a href="https://github.com/dydx/RubyTorrent/blob/master/dump-metainfo.rb" rel="nofollow">https://github.com/dydx/RubyTorrent/blob/master/dump-metainfo.rb

还有一个bencode gem,可用于解析 .torrent 文件。

You could try RubyTorrent, there is an example of how to dump meta data from a .torrent file here: https://github.com/dydx/RubyTorrent/blob/master/dump-metainfo.rb

There is also a bencode gem that can be used to parse .torrent files.

童话2024-11-24 01:41:38

使用 firecracker gem

require "firecracker"
require "bencode_ext"
require 'open-uri'

torrent = open(link).read

# Get the info_hash from torrent file
info_hash = Firecracker.hash(torrent.bdecode)
puts "Info Hash = " + info_hash

Using the firecracker gem

require "firecracker"
require "bencode_ext"
require 'open-uri'

torrent = open(link).read

# Get the info_hash from torrent file
info_hash = Firecracker.hash(torrent.bdecode)
puts "Info Hash = " + info_hash
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文