[英]The torrent info_hash parameter
如何計算info_hash 參數? 也就是對應於信息字典的哈希??
從官方規格:
info_hash元信息文件中信息值的編碼形式的 20 字節 sha1 哈希。 請注意,這是元信息文件的子字符串。 這個值幾乎肯定會被轉義。
這是否意味着簡單地從元信息文件中獲取子字符串並對代表字節進行 sha-1 散列?
.... 因為這是我嘗試了 12 次但沒有成功的方式,這意味着我將結果散列與我最終應該得到的散列進行了比較..他們不同..那個 + 跟蹤器響應是失敗的,未知的洪流......或某物
那么如何計算 info_hash 呢?
元文件已經編碼,所以我不明白你為什么再次編碼?
我終於在 Java 代碼中完成了這項工作,這是我的代碼:
byte metaData[]; //the raw .torrent file
int infoIdx = ?; //index of 'd' right after the "4:info" string
info_hash = SHAsum(Arrays.copyOfRange(metaData, infoIdx, metaData.length-1));
這假設“信息”塊是 torrent 文件中的最后一個塊(錯誤?)
不要排序或類似的東西,只需使用原始 Torrent 文件的子字符串。
為我工作。
bdecode 元文件。 然后它只是sha1(bencode(metadata['info']))
(即再次對 info dict 進行編碼,然后散列)。
訪問https://gist.github.com/shxsun/9085646 ,這是一個python代碼,解釋如何info_generate,祝你好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.