# MD4 hash

An MD4 hash is a unique value given as a result of a mathematical expression following the MD4 algorithm which claims to ensure data integrity.

It provides a 128-bit (16 bytes, 32 hex chars) message digest from the data input (the input may be of any length) that is claimed to be unique.

MD4 was developed by Professor Ronald L. Rivest of MIT and accepted by the RSA on October 1990 and then redesigned on April 1992.

Both MD4 and its successor MD5 (which is an extension of MD4) are optimized for 32-bit machines, while its predecessor MD2 was optimized for 8-bit machines.

MD4 is known to be fast, but possibly not absolutely secure. On the other hand, MD5 is not as fast as the MD4 algorithm, but offers much more assurance of data security.

aMule incorporates the MD4 algorithm based on the Crypto++'s library sources (in some beta aMule v2 releases, it did actually use Crypto++).

NOTE : the hash used in ed2k protocol URLs in NOT MD4 !!! It is similar but not the same. Above certain filesize (the exact value is documented somewhere) the MD4 and the ed2k hash for the same data are not the same. Anybody can check this by computing a hash of any file greater than 15 megabytes using any hash tool, like HashCalc, fsum etc.