Torrent 客户端中的哈希计算

2023-12-07

我想知道是否有人知道 BitTorrent 客户端中的“哈希”指的是什么,它显然不是hash文件的代码,但有些不同。

我认为这更像是一个文件的磁力链​​接,但是它是如何连接到文件本身的呢?

我只是想了解幕后的构造。
torrent 客户端中的文件 哈希 哈希


The hash在 torrent 客户端或hash你发现在一个magnet-URI是原始数据的 SHA1 哈希值bencoded info-dictionary- 的一部分torrent-file.

要了解其工作原理,您需要了解两件事:

  • How a torrent- 文件已构建。

  • How bencode完成。

这两个内容在官方 BitTorrent 规范中都有解释,您可以在这里找到:http://bittorrent.org/beps/bep_0003.html

不过,我建议您阅读可以在此处找到的非官方规范:https://wiki.theory.org/BitTorrentSpecification
因为它更容易理解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Torrent 客户端中的哈希计算 的相关文章

  • Bash 中的多维关联数组

    我正在尝试创建一个多维关联数组 但需要一些帮助 我已审查过这个SO答案中建议的页面 https stackoverflow com questions 3020713 how to print bash varibles contents
  • 获取文件哈希性能/优化

    我正在尝试尽快获取文件的哈希值 我有一个程序 可以对大量数据 100GB 进行哈希处理 这些数据由随机文件大小 每个文件从几KB到5GB 组成 跨少量文件到数十万个文件 该程序必须支持所有 Java 支持的算法 MD2 MD5 SHA 1
  • java 是否存在只有键没有值的哈希结构?

    我正在寻找一种无需值即可对键进行哈希处理的结构 查询时 如果找到密钥 则应返回 true 否则返回 false 我正在寻找类似的东西Hashtable
  • 在Ruby中,如何从具有值的哈希中提取键

    当我写下这段文字时 我以为我是一个 Ruby 巨人 having this hash hash Portugal gt 1 France gt 2 USA gt 3 country id comes from input country n
  • set 中的哈希表在 python 中如何工作?

    据我所知 set在python中通过哈希表来实现O 1 查找复杂度 虽然它是哈希表 但其中的每个条目set必须是可散列的 或不可变的 所以这种和平的代码引发了异常 gt gt gt dict Traceback most recent ca
  • Ruby 中判断变量是哈希还是数组的优雅方法是什么?

    检查什么 some var是 我正在做一个 if some var class to s Hash 我确信有一种更优雅的方法来检查是否 some var is a Hash or an Array 你可以这样做 some var class
  • PEX协议(磁力链接)如何找到它的第一个IP?

    我试图了解磁力链接如何工作 因为我读过他们使用 DHT 和 PEX 来获取对等点 但如果我是网络中的新节点 如何才能找到仅具有哈希值的对等点文件 它不是总是需要一个到已知主机的链接吗 Thanks Bittorrent DHT 可以通过多种
  • java中带有二维键的映射

    我想要一个在 Java 中由两个键索引的映射 在其中使用两个键放置和检索值的映射 需要明确的是 我正在寻找以下行为 map put key1 key2 value map get key1 key2 returns value map ge
  • 使用哈希检查具有 $_POST 值的页面是否已刷新

    当将表单发布到同一个PHP页面时 正确的方法是什么来查找页面是否被意外刷新而不是再次提交 这是我现在正在使用的 tmp implode POST myHash md5 tmp if isset SESSION myHash SESSION
  • 在 Ruby 中,哈希中标识符后面的冒号的含义是什么?

    我正在了解 Factory Girl 我看到了这段代码 factory post do association author factory user last name Writely end why do factory and las
  • 有没有办法在Python中使用非openssl md5作为hashlib?

    我生成 md5 内容哈希值用于上传验证 但最近我注意到 对于在启用 FIPS 的计算机上运行的任何用户来说 这都会失败 FIPS 禁用 openssl md5 导致ValueError当我尝试初始化 hashlib 时 通常我会使用 SHA
  • 如何将两个不同的哈希数组中的值添加在一起?

    我有两个哈希数组 哈希值的键不同 player scores1 first name gt Bruce score gt 43 time gt 50 first name gt Clark score gt 45 minutes gt 20
  • 数学组合的完美最小哈希

    首先定义两个整数N and K where N gt K 两者都在编译时已知 例如 N 8 and K 3 接下来 定义一组整数 0 N or 1 N 如果这使答案更简单 并调用它S 例如 0 1 2 3 4 5 6 7 的子集数量S wi
  • python的hash()是持久的吗?

    Is the hash python 中的函数保证对于给定的输入始终相同 无论输入的时间 地点如何 到目前为止 仅从反复试验来看 答案似乎是肯定的 但最好了解其工作原理的内部原理 例如 在测试中 python gt gt gt from i
  • Rails/Ruby 合并两个具有相同键、不同值的哈希值

    我有两个想要合并的哈希值 它们看起来像这样 Hello gt 3 Hi gt 43 Hola gt 43 第二个哈希看起来像 Hello gt 4 Hi gt 2 Bonjour gt 2 我想合并这两个哈希数组 使结果看起来像 Hello
  • 获取express.js中间件请求中“#”后的url

    我需要获取服务器中间件上的 url 使用express js 我用req url但是当 url 开头时 some urlreq url 返回 与req path 有没有办法获取url之后 在express js中 No URL 中以 符号永
  • iPhone 和加密库

    我想我必须在我的 iPhone 应用程序中使用加密库 我想问你有关苹果公司实施的加密货币出口政策的影响 我需要做一些额外的事情吗 例如填写表格等 1 如果我使用 MD5 进行哈希处理 2 如果我使用对称加密 Thanks EDIT 2009
  • 比较 ruby​​ 哈希值[重复]

    这个问题在这里已经有答案了 可能的重复 如何比较两个哈希值 https stackoverflow com questions 4928789 how do i compare two hashes 我有两个 ruby 哈希值 本质上是模型
  • 如何使用“子例程引用”作为哈希键

    在 Perl 中 我正在学习如何取消引用 子例程引用 但我似乎无法使用子例程引用作为哈希 键 在下面的示例代码中 我可以创建对子例程 subref 的引用 然后取消引用它以运行子例程 subref 我可以使用引用作为哈希 值 然后轻松取消引
  • javascript:完全删除top.location.hash?

    如果我的地址栏中已经有一个哈希值 例如domain com whatever 我打电话 top location hash wathever 被转换为domain com 没有任何内容 是否可以完全删除哈希值 所以没有 left 因为如果我

随机推荐

  • Sqlalchemy 将 WHERE 子句复制到 FROM

    我向 psql 编写了原始查询 它工作正常 但是当我在 sqlalchemy 中编写此查询时 我的 WHERE 子句复制到 FROM 子句 select id from T1 where arr array select l id from
  • 条件c++中对象的实例化

    假设我想根据某些情况实例化不同类型的对象 因此我会在 if 语句体内实例化它们 问题是如果您想稍后使用该对象 则需要在实例化之前声明它 如何声明一个通用对象 Java中有类似对象类的东西吗 我已经进行了一些谷歌搜索 例如 通用对象c 和 对
  • 从 Android HTML 资源创建 SQLite 表

    我尝试在 android 中使用 HTML 在 sqlite 中创建一个表 但它不起作用 示例 HTML 在这里
  • C# 函数和可选参数

    我知道在 C 中可以定义可选参数 我的问题是这有多灵活 令 f 为如下函数 其中a强制性和b c选修的 class Test public void f int a int b 2 int c 3 现在 我知道我可以通过以下方式调用该函数
  • 如何使用 Swift 3 为按钮制作摇动动画 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我有一个每 3 秒调用一次的函数 我怎样才能制作一个晃动的动画button左右摇晃 func shakeButton if opened false Shake Animatio
  • VSCode 在片段中链接正则表达式转换

    我正在尝试通过两种方式在 VSCode 中自动转换文件名 假设我有test file name md 我想结束Test File Name在我的文档中 现在我可以分别完成转换的两个部分 但我正在努力寻找如何将它们组合起来 要删除所有 并将它
  • 当类型是映射的任何成员时提高 Typescript 速度?

    例如 我有这些类型 class User extends Entity class Post extends Entity type Entities user User post Post potentially hundreds mor
  • 如何将数据文件作为矩阵导入并从 python 脚本运行 .m 文件?

    我有一个 m 文件 用于在 matlab 中运行神经网络 该文件已本地安装在我的计算机上 我正在尝试编写一个 python 脚本 它将多次循环遍历神经网络可能的传输和训练 函数列表 我编写了一个函数来打开和编辑 m 文件 但我不知道如何操作
  • 从 .NET Windows 服务调用 COM 组件

    我有一个用 NET C 编写的 Windows 服务 它调用 COM 组件 我还有一个 NET Windows 窗体测试应用程序 用于测试 COM 组件 从测试应用程序来看它运行良好 但是 当我在 Windows 服务中使用相同的代码时 什
  • 检测 Bash“导出”值的失败

    在 Bash 中 我执行命令并将结果放入变量中 如下所示 export var svn ls 但是 如果 SVN 由于某种原因失败 例如它返回非零错误代码 则导出仍会返回状态代码 0 如何检测执行的命令是否失败 var svn ls if
  • 在 Ruby 中使用多个进程

    Ruby 是否有一个模块可以轻松地在多个进程之间共享对象 我正在寻找类似于Python的东西多重处理 它支持可以在进程之间共享的进程安全队列和管道 我认为您可以使用 Ruby IO 的功能做很多您想做的事情 你在进程之间共享 而不是线程之间
  • 在进行 Web 自动化时,如何使用空手道 DSL 与 Chrome 中的网络选项卡进行交互

    我正在使用空手道 DSL 编写 UI 自动化脚本 在这一点上 我需要从 Chrome 中的网络调用中获取价值 我想与 chrome devtools 网络选项卡中的 Web 服务调用之一进行交互 并获取该 Web 服务的 json 响应 我
  • 在 C# 中使用 P/Invoke 注册 _set_purecall_handler 函数

    我使用时遇到问题 set purecall handler使用 C 中的 P Invoke 基本上 这有效 C set purecall handler MyPureCallHandler void MyPureCallHandler vo
  • 输入被禁用,直到先前的输入被填充

    我想做的是 当用户登陆表单时 我希望第一个输入处于活动状态 以便用户能够单击 选择或填写它 我希望他们逐步填写表格 因此我希望只有在他们填写完当前输入后才激活下一个输入 我还希望禁用提交按钮 并且在填写所有输入之前不要激活提交按钮 实现这一
  • WPF 对齐容器中的项目

    所以我有这个简单的xaml
  • System.Double[*] 是什么意思

    这个 gem 是在我们反编译的一些互操作代码中创建的 我们不知道如何创建这个数组的实例 也不知道它是什么类型的数组 看着Type GetElementType告诉我它是一个类型数组Double 但我们无法弄清楚它与System Double
  • 限制对我网站上图像的访问,除非通过我自己的 html

    在我的网站上 我以简单的方式存储用户图片 例如 图像 user 1 jpg 我不希望访问者仅通过尝试 user ids 就能够查看我的服务器上的图像 例如 www mydomain com images user 2 jpg www myd
  • 如何序列化 JavaScript 关联数组?

    我需要序列化一个关联的 JavaScript 数组 这是产品和数值的简单形式 但在构建数组后似乎是空的 代码在这里 http jsbin com usupi6 4 edit 一般来说 不要将 JS 数组用于 关联数组 使用普通对象 var
  • 意外字符“@”您可能需要适当的加载程序来处理此文件类型

    这是我尝试运行 webpack 时得到的结果 我得到的错误是 v3 app styles main scss 中出现错误 模块解析失败 Users vovina widget login react v3 app styles main s
  • Torrent 客户端中的哈希计算

    我想知道是否有人知道 BitTorrent 客户端中的 哈希 指的是什么 它显然不是hash文件的代码 但有些不同 我认为这更像是一个文件的磁力链 接 但是它是如何连接到文件本身的呢 我只是想了解幕后的构造 torrent 客户端中的文件