1,633
edits
mNo edit summary |
|||
Line 30: | Line 30: | ||
A file is hashed in 9728000 byte ''chunks'', using the md4 algorithm, and produces a 128 bit hash for each chunk. For files with only one chunk, the ed2k hash ''is'' the md4 of the file, however for hashes with 2 or more chunks the the hash of each chunk is appended to those before it, and an further md4 of the hashes themselves provides the ed2k hash of the file. Pseudo code is given below: | A file is hashed in 9728000 byte ''chunks'', using the md4 algorithm, and produces a 128 bit hash for each chunk. For files with only one chunk, the ed2k hash ''is'' the md4 of the file, however for hashes with 2 or more chunks the the hash of each chunk is appended to those before it, and an further md4 of the hashes themselves provides the ed2k hash of the file. Pseudo code is given below: | ||
:if filesize is less than | :if filesize is less than {{colour|blue|or equal to}} 9728000: | ||
:: return md4 of file | :: return md4 of file | ||
:for chunk of size upto 9728000 in file: | :for chunk of size upto 9728000 in file: | ||
:: append md4 of chunk to hashlist | :: append md4 of chunk to hashlist | ||
: | :{{colour|red|if filesize is a multiple of 9728000:}} | ||
::append md4 of null to hashlist | ::{{colour|red|append md4 of null to hashlist}} | ||
:return md4 of hashlist | :return md4 of hashlist | ||
Line 42: | Line 42: | ||
=== List of which clients use which method === | === List of which clients use which method === | ||
[[Avdump]] use both methods. It will creq files from blue to red and store blue in file description ({{AniDBShortLink|f7047|Alternative ed2k}}). | [[Avdump]] use both methods. It will creq files from blue to red and store blue in file description ({{AniDBShortLink|f7047|Alternative ed2k}}). | ||
* | *{{colour|blue|edonkey2000 v0.5.0 to v1.4.3}} | ||
* | *{{colour|blue|mldonkey (2.5.30.17 tested)}} | ||
* | *{{colour|blue|shareaza (1.8 tested)}} | ||
* | *{{colour|blue|HashCalc Version (2.01 tested)}} | ||
* | *{{colour|blue|edonkey-tool-hash (0.4.0 tested)}} | ||
* | *{{colour|blue|fsum (2.51 tested)}} | ||
* | *{{colour|blue|ed2k_hash (0.4.0 tested)}} | ||
* | *{{colour|blue|hashgen (0.0.6 tested)}} | ||
* | *{{colour|red|edonkey2000 until v0.5.0}} | ||
* | *{{colour|red|emule (0.46c tested)}} | ||
* | *{{colour|red|AOM (0.5.5.239 tested)}} | ||
* | *{{colour|red|webaom (v1.13 tested)}} | ||
* | *{{colour|red|ed2k code by Stephane D'Alu (1.4 tested)}} | ||
=== List of affected files, by fileID === | === List of affected files, by fileID === |
edits