如何算出emule中檔案的切細值? |
尚未結案
|
linmon416
一般會員 ![]() ![]() 發表:11 回覆:44 積分:11 註冊:2003-12-19 發送簡訊給我 |
各位大大好:
小弟在emule官方網頁找到下列資料,希望那位大大有研究過emule的,可以好心的用下列例子告之,如何算出6744FC42EDA527B27F0B2F2538728B3E這個檔案切細值,謝謝. 檔案切細值, 部分切細值 & 片段切細值
在網路分享的每個檔案有一個獨一無二的識別值是由 MD4 密碼數學運算所建立. 這個值稱為檔案切細值並且每個標準的 eD2k 連結都有包含, 例如 ed2k://|file|name|12043984|6744FC42EDA527B27F0B2F2538728B3E|/ 其中 6744FC42EDA527B27F0B2F2538728B3E 是檔案切細值以確定這個檔案在整個網路是獨一無二的被識別出. 這個 檔案切細值 是將檔案劃分為 9.28 MB為一個部分所計算出來. 每個部分的部分切細值也是使用相同的 MD4 運算方式計算出來. 那些 部分切細值, 稱為 片段切細值, 並且它是使用來計算出最終的檔案切細值. 例如一個 600 MB 檔案被劃分為 65 個部分每個部分都有它自己的 部分切細值 而它是用來建立最終的 檔案切細值.
為確保 eMule 總是接收到正確的一個特別的連結能包含片段切細值, 例如 ed2k://|file|name|12043984|6744FC42EDA527B27F0B2F2538728B3E| p=264E6F6B587985D87EB0157A2A7BAF40:17B9A4D1DCE0E4C2B672DF257145E98A|/ 其中 p= 值表示 片段切細值. 每個 部分切細值 是由 ":" 來區隔. 這個檔案大小為 12043984 位元組 (=11.49 MB) 這表示它有一個完整的 9.28 部分和剩下的到 11.49 MB 部分為二個 部分切細片段.
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
eMule 有原始碼可以下載呀... 檔案名稱:eMule0.44b-Sources.zip
網址:http://ovh.dl.sourceforge.net/sourceforge/emule/eMule0.44b-Sources.zip
大小: 3865KB
完成時間:Sat Oct 02 13:29:51 2004
參照頁:http://prdownloads.sourceforge.net/emule/eMule0.44b-Sources.zip?use_mirror=ovh 吃軟也吃硬 dllee.ktop.com.tw StatPlus 系統資源監測器 @ SoftKing VMASK - ViewMove Automation Software Kernel
------
http://www.ViewMove.com |
linmon416
一般會員 ![]() ![]() 發表:11 回覆:44 積分:11 註冊:2003-12-19 發送簡訊給我 |
dllee版主你好:
小弟前幾天已經有下載eMule原始碼來看,但因對C 不熟,所以一直找不到在那一個或幾個*.cpp中可找到我要的資料,因此才會上來發問問題
目前小弟只知道檔案大小為12043984 位元組(=11.49 MB) 這表示它有一個完整的 9.28MB(9728000位元組) 部分和剩下的到 11.49 MB 部分,而這兩個的md4值是264E6F6B587985D87EB0157A2A7BAF40和17B9A4D1DCE0E4C2B672DF257145E98A
,而最終的檔案切細值12043984|6744FC42EDA527B27F0B2F2538728B3E是如何出來的,小弟就不知道了,
在此希望版主可以幫忙,告訴我是在那一個或幾個*.cpp中可找到我要的資料,好讓我研究研究,謝謝
|
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
RFC 1320 - The MD4 Message-Digest Algorithm
http://www.faqs.org/rfcs/rfc1320.html 如果您要研究,免不了要寫一些程式吧
------
http://www.ViewMove.com |
linmon416
一般會員 ![]() ![]() 發表:11 回覆:44 積分:11 註冊:2003-12-19 發送簡訊給我 |
dllee版主你好:
小弟忘了告訴你,在問問題之前我自已有找到md4的資料,且也改成Delphi,並且我也下載範例中的檔案,也算出一個完整的 9.28MB(9728000位元組) 部分和剩下的到 11.49 MB 部分,而這兩個的md4值是264E6F6B587985D87EB0157A2A7BAF40和17B9A4D1DCE0E4C2B672DF257145E98A,也和範例算的一樣
,但最終的檔案切細值12043984|6744FC42EDA527B27F0B2F2538728B3E不一樣,
後來我試過檔案如果小於9.28M,那算出來的md4就是最終的檔案切細值,但大於9.28M,那算出來的md4和最終的檔案切細值卻不一樣,
根據小弟由emule官方網頁的說明得知:
這個 檔案切細值 是將檔案劃分為 9.28 MB為一個部分所計算出來. 每個部分的部分切細值也是使用相同的 MD4 運算方式計算出來. 那些 部分切細值, 稱為 片段切細值, 並且它是使用來計算出最終的檔案切細值. 例如一個 600 MB 檔案被劃分為 65 個部分每個部分都有它自己的 部分切細值 而它是用來建立最終的 檔案切細值., 所以如何算出6744FC42EDA527B27F0B2F2538728B3E這個檔案切細值是我想找尋的答案,故我才會問是在那一個或幾個*.cpp中可找到我要的資料,好讓我研究研究,在此謝謝版主的回應.
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |