- Files are splitted in chunks of 9500kB. The last chunk can be smaller.
- For files smaller than a full chunk, the ed2k-hash of the file is the md4-hash of the first (and only) chunk.
- For files bigger than a chunk, the md4-hash of each chunk is computed. Those hashes are concatenated in a (number of chunks * 16) bytes string.
- The ed2k-hash of the file is the md4-hash of that string.
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.