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

标签 ruby hash bittorrent

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

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

认为这是来自 torrent 文件信息字典的 SHA1 散列。如果我要将二进制文件数据从一个字节解析到另一个字节,然后执行 SHA1 哈希加密,我就能得到它。

有没有人对此有更好的理解或有一些代码可以做到这一点?

最佳答案

使用 bencode gem :

require 'bencode'
require 'digest/sha1'

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

关于ruby - 从 ruby​​ 中的 Torrent 文件中提取哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6488934/

相关文章:

ios - Riot-iOS 错误 : while run bundle exec pod install

ruby-on-rails - Ruby on Rails, Controller 中的两个 View 显示相同的输出,但具有不同的 html 代码

html - 在文档片段中查找注释或文本节点

swift - 如何在 Swift 4 中复制 hash_hmac ('sha256' , $key, $secret_key) 函数?

Javascript Torrent 文件解析

java - 使用 Java 的 BitTorrent 协议(protocol) - 成功握手后的位字段

ruby-on-rails - 按关联对象的属性对对象列表进行排序

c# - 将 SHA512 输出转换为字符串时为 "Specified value has invalid Control characters"

c - 哈希表的大小

nat - libutp (µTP) 和 NAT 穿越(UDP 打洞)