torrent文件中的info_Hash究竟是什么?

Eme*_*iel 27 hash info-hash torrent

我最近读了很多关于来自种子和磁链的哈希.

但有一个我不明白的问题.

我有一个文件的哈希和一个torrent的infohash,是文件的infohash =哈希?

如果是,如果torrent描述6要下载的文件怎么办?

如果没有它代表什么.

Eme*_*iel 44

所以我终于明白了.

"infohash"是torrent文件中包含以下内容的SHA1哈希:

  1. ITEM:长度(大小)和路径(带文件名的路径)
  2. 名称:要搜索的名称
  3. 件长:单件的长度(尺寸)
  4. 碎片:SHA1哈希这个洪流的每一块
  5. 私有:限制访问的标志

为了更多地展示这一点,我采用了一个随机的torrent文件并使用了Ultima的"BEncode Editor"来让我更清楚.

BEncode编辑器

如您所见,红色框标记了torrent文件的信息部分.torrent文件不包括项目的哈希,而是每个部分的哈希.

  • 对于item1:1069496548
  • 和item2:223
  • 它在一起:1069496771
  • 尺码为:524288
  • 有2040件.(约1069496771/524288 = 2039.9032)
  • 片段包括40800字节的数据,文件中的81600 + 2个字符.
  • +2因为0x表示这是十六进制的.
  • SHA1散列有40个0x字符或20个字节的数据,即2040个SHA1哈希值.

在此输入图像描述

我很抱歉这个信息是关于导致非法电影的洪流,但我想使用真正存在的洪流.

  • 如果您将来需要示例,大多数Linux发行版都会提供其发行版的合法torrent下载. (32认同)
  • @Emetiel如何获取20字节的info_hash字符串? (3认同)

Ian*_*oyd 18

我想添加另一个稍微具体一点的例子。

我们从我拥有的最小的文件之一开始.torrent:

64 34 3A 69 6E 66 6F 64 35 3A 66 69 6C 65 73 6C 64 36 3A 6C 65 6E 67 74 
68 69 36 31 35 65 34 3A 70 61 74 68 6C 32 36 3A 66 72 65 65 20 61 75 64 
69 6F 62 6F 6F 6B 20 76 65 72 73 69 6F 6E 2E 74 78 74 65 65 64 36 3A 6C 
65 6E 67 74 68 69 33 39 33 34 31 37 65 34 3A 70 61 74 68 6C 36 31 3A 57 
61 72 63 72 61 66 74 5F 20 4F 66 66 69 63 69 61 6C 20 4D 6F 76 69 65 20 
4E 6F 76 65 6C 69 7A 61 74 69 6F 6E 20 62 79 20 43 68 72 69 73 74 69 65 
20 47 6F 6C 64 65 6E 2E 65 70 75 62 65 65 65 34 3A 6E 61 6D 65 36 31 3A 
57 61 72 63 72 61 66 74 5F 20 4F 66 66 69 63 69 61 6C 20 4D 6F 76 69 65 
20 4E 6F 76 65 6C 69 7A 61 74 69 6F 6E 20 62 79 20 43 68 72 69 73 74 69 
65 20 47 6F 6C 64 65 6E 20 45 50 55 42 31 32 3A 70 69 65 63 65 20 6C 65 
6E 67 74 68 69 31 30 34 38 35 37 36 65 36 3A 70 69 65 63 65 73 32 30 3A 
43 92 4C 22 BB 42 9E EA BD FF 66 C6 79 4C 29 E4 F9 D0 F3 B9 65 65
Run Code Online (Sandbox Code Playgroud)

如果我们解码 BEncoding:

64                                             ; DICTIONARY (d)
|  34 3A 69 6E 66 6F                           ;  - 4:info
|  64                                          ;  - DICTIONARY (d)
|  |  35 3A 66 69 6C 65 73                     ;     - 5:files
|  |  6C                                       ;     - LIST (l)
|  |  |  64                                    ;        - DICTIONARY (d)
|  |  |  |  36 3A 6C 65 6E 67 74 68            ;           - 6:length
|  |  |  |  69 36 31 35 65                     ;           - i615e
|  |  |  |  34 3A 70 61 74 68                  ;           - 4:path
|  |  |  |  6C                                 ;           - LIST (l)
|  |  |  |  |  32 36 3A 66 72 65 65 20 61 75   ;              - 26:free audiobook verison.txt
|  |  |  |  |  64 69 6F 62 6F 6F 6B 20 76 65   ;                  
|  |  |  |  |  72 73 69 6F 6E 2E 74 78 74      ;                  
|  |  |  |  65                                 ;              - END (e)
|  |  |  65                                    ;           - END (e)
|  |  |  64                                    ;           - DICTIONARY (d)
|  |  |  |  36 3A 6C 65 6E 67 74 68            ;              - 6:length
|  |  |  |  69 33 39 33 34 31 37 65            ;              - i393417e
|  |  |  |  34 3A 70 61 74 68                  ;              - 4:path
|  |  |  |  6C                                 ;              - LIST (l)
|  |  |  |  |  36 31 3A 57 61 72 63 72 61 66   ;                 - 61:Warcraft_ Official Movie Novelization by Christie Golden.epub
|  |  |  |  |  74 5F 20 4F 66 66 69 63 69 61   ;                  
|  |  |  |  |  6C 20 4D 6F 76 69 65 20 4E 6F   ;                  
|  |  |  |  |  76 65 6C 69 7A 61 74 69 6F 6E   ;                  
|  |  |  |  |  20 62 79 20 43 68 72 69 73 74   ;                  
|  |  |  |  |  69 65 20 47 6F 6C 64 65 6E 2E   ;                  
|  |  |  |  |  65 70 75 62                     ;                  
|  |  |  |  65                                 ;              - END (e)
|  |  |  65                                    ;           - END (e)
|  |  65                                       ;        - END (e)
|  |  34 3A 6E 61 6D 65                        ;        - 4:name
|  |  36 31 3A 57 61 72 63 72 61 66            ;        - 61:Warcraft_ Official Movie Novelization by Christie Golden EPUB 
|  |  74 5F 20 4F 66 66 69 63 69 61            ;         
|  |  6C 20 4D 6F 76 69 65 20 4E 6F            ;         
|  |  76 65 6C 69 7A 61 74 69 6F 6E            ;         
|  |  20 62 79 20 43 68 72 69 73 74            ;         
|  |  69 65 20 47 6F 6C 64 65 6E 20            ;         
|  |  45 50 55 42                              ;          
|  |  31 32 3A 70 69 65 63 65 20 6C            ;        - 12:piece length
|  |  65 6E 67 74 68                           ;         
|  |  69 31 30 34 38 35 37 36 65               ;        - i10485765e
|  |  36 3A 70 69 65 63 65 73                  ;        - 6:pieces
|  |  32 30 3A 43 92 4C 22 BB 42 9E            ;        - 20:43 92 4C 22 BB 42 9E EA BD FF 66 C6 79 4C 29 E4 F9 D0 F3 B9 65 65
|  |  EA BD FF 66 C6 79 4C 29 E4 F9            ;
|  |  D0 F3 B9                                 ;
|  65                                          ;     - END (e)
65                                             ;  - END (e)
Run Code Online (Sandbox Code Playgroud)

或者,在伪 json 中:

{
   info: {
      files: [
         { length: 615,    path: ["free audiobook verison.txt"] },
         { length: 393417, path: ["Warcraft_ Official Movie Novelization by Christie Golden.epub"] }
      ],
      name:           "Warcraft_ Official Movie Novelization by Christie Golden EPUB",
      "piece length": 10485765,
      pieces:         43 92 4C 22 BB 42 9E EA BD FF 66 C6 79 4C 29 E4 F9 D0 F3 B9 65 65
   }
}
Run Code Online (Sandbox Code Playgroud)

InfoHash 是信息的哈希值

InfoHash是信息字典内容的 SHA-1 哈希值。

我们想要获取字典键值的SHA-1 哈希值info:

64                                          ;  - DICTIONARY (d)
|  35 3A 66 69 6C 65 73                     ;     - 5:files
|  6C                                       ;     - LIST (l)
|  |  64                                    ;        - DICTIONARY (d)
|  |  |  36 3A 6C 65 6E 67 74 68            ;           - 6:length
|  |  |  69 36 31 35 65                     ;           - i615e
|  |  |  34 3A 70 61 74 68                  ;           - 4:path
|  |  |  6C                                 ;           - LIST (l)
|  |  |  |  32 36 3A 66 72 65 65 20 61 75   ;              - 26:free audiobook verison.txt
|  |  |  |  64 69 6F 62 6F 6F 6B 20 76 65   ;                  
|  |  |  |  72 73 69 6F 6E 2E 74 78 74      ;                  
|  |  |  65                                 ;              - END (e)
|  |  65                                    ;           - END (e)
|  |  64                                    ;           - DICTIONARY (d)
|  |  |  36 3A 6C 65 6E 67 74 68            ;              - 6:length
|  |  |  69 33 39 33 34 31 37 65            ;              - i393417e
|  |  |  34 3A 70 61 74 68                  ;              - 4:path
|  |  |  6C                                 ;              - LIST (l)
|  |  |  |  36 31 3A 57 61 72 63 72 61 66   ;                 - 61:Warcraft_ Official Movie Novelization by Christie Golden.epub
|  |  |  |  74 5F 20 4F 66 66 69 63 69 61   ;                  
|  |  |  |  6C 20 4D 6F 76 69 65 20 4E 6F   ;                  
|  |  |  |  76 65 6C 69 7A 61 74 69 6F 6E   ;                  
|  |  |  |  20 62 79 20 43 68 72 69 73 74   ;                  
|  |  |  |  69 65 20 47 6F 6C 64 65 6E 2E   ;                  
|  |  |  |  65 70 75 62                     ;                  
|  |  |  65                                 ;              - END (e)
|  |  65                                    ;           - END (e)
|  65                                       ;        - END (e)
|  34 3A 6E 61 6D 65                        ;        - 4:name
|  36 31 3A 57 61 72 63 72 61 66            ;        - 61:Warcraft_ Official Movie Novelization by Christie Golden EPUB 
|  74 5F 20 4F 66 66 69 63 69 61            ;         
|  6C 20 4D 6F 76 69 65 20 4E 6F            ;         
|  76 65 6C 69 7A 61 74 69 6F 6E            ;         
|  20 62 79 20 43 68 72 69 73 74            ;         
|  69 65 20 47 6F 6C 64 65 6E 20            ;         
|  45 50 55 42                              ;          
|  31 32 3A 70 69 65 63 65 20 6C            ;        - 12:piece length
|  65 6E 67 74 68                           ;         
|  69 31 30 34 38 35 37 36 65               ;        - i10485765e
|  36 3A 70 69 65 63 65 73                  ;        - 6:pieces
|  32 30 3A 43 92 4C 22 BB 42 9E            ;        - 20:43 92 4C 22 BB 42 9E EA BD FF 66 C6 79 4C 29 E4 F9 D0 F3 B9 65 65
|  EA BD FF 66 C6 79 4C 29 E4 F9            ;
|  D0 F3 B9                                 ;
65                                          ;     - END (e)
Run Code Online (Sandbox Code Playgroud)

我们一起运行所有这些字节:

64 35 3A 66 69 6C 65 73 6C 64 36 3A 6C 65 6E 67 74 68 69 36 31 35 65 34 
3A 70 61 74 68 6C 32 36 3A 66 72 65 65 20 61 75 64 69 6F 62 6F 6F 6B 20 
76 65 72 73 69 6F 6E 2E 74 78 74 65 65 64 36 3A 6C 65 6E 67 74 68 69 33 
39 33 34 31 37 65 34 3A 70 61 74 68 6C 36 31 3A 57 61 72 63 72 61 66 74 
5F 20 4F 66 66 69 63 69 61 6C 20 4D 6F 76 69 65 20 4E 6F 76 65 6C 69 7A 
61 74 69 6F 6E 20 62 79 20 43 68 72 69 73 74 69 65 20 47 6F 6C 64 65 6E 
2E 65 70 75 62 65 65 65 34 3A 6E 61 6D 65 36 31 3A 57 61 72 63 72 61 66 
74 5F 20 4F 66 66 69 63 69 61 6C 20 4D 6F 76 69 65 20 4E 6F 76 65 6C 69 
7A 61 74 69 6F 6E 20 62 79 20 43 68 72 69 73 74 69 65 20 47 6F 6C 64 65 
6E 20 45 50 55 42 31 32 3A 70 69 65 63 65 20 6C 65 6E 67 74 68 69 31 30 
34 38 35 37 36 65 36 3A 70 69 65 63 65 73 32 30 3A 43 92 4C 22 BB 42 9E 
EA BD FF 66 C6 79 4C 29 E4 F9 D0 F3 B9 65
Run Code Online (Sandbox Code Playgroud)

然后采用 SHA-1 哈希生成 160 位(20 字节)摘要:

7EDA978ED7628595BB91C48B947F025BAE78CB77
Run Code Online (Sandbox Code Playgroud)

哪个是正确答案:

在此输入图像描述