Content deleted Content added
Line 24:
== eD2k hash algorithm ==
The ''eD2k hash function'' is a [[hash list|root hash]] of a list of [[MD4]] [[hash function|hashes]], and gives a '''different''' result than simply MD4:
The file data is divided into full ''chunks'' of 9728000 bytes plus a remainder chunk, and a separate '''128-bit MD4 checksum''' is computed for each. If the file length is an exact multiple of 9500 KiB, the remainder zero
The eD2k hash`s is computed by concatenating the chunks' MD4 checksums in order and hashing the result using MD4. Although, if the file is composed of a single non-full chunk, its MD4 hash is used with no further modifications.<ref>emule source, method <code>CKnownFile::CreateFromFile</code>.</ref>
This method of hashing allows the recipient to verify that a hash list corresponds to the original eD2k file hash, without the need to have the data blocks.
▲'''There's some ambiguity for files whose size is a multiple of chunk size; Old versions of the ed2k_hash tool computed file hashes with an additionnal 0-byte chunk at the end. That was fixed in recent versions of the tool.'''
Latest ed2k alogythm dates back to January 1, 2006. Ed2k Md4 algorythm was proved to be not errorfree since same contents may get various hashes for the same file .
== Server links ==
|