phmd5 -- generate MD5 on little-endian system
--- Freeware ---

[page last modified 2019-07-14]

phmd5 is code to generate an MD5 hash.  It is targeted for little-endian architectures only (tested on 32 and 64-bit).
The little-endian assumption enables processing of source data in-place, which is a significant speed boost.

The code is small and simple.
Full source is provided; it is freeware, there are no restrictions on its use, but no guarantee is given.

The original version (1.0) used a 32-bit x86 assembly routine.
Subsequent timing showed the algorithm was memory-bound, and an optimizing C compiler was sufficient to the task.
So newer versions replaced the assembly with C (though the now-unused assembly source remains for historical purposes).

A command-line test tool -- dophmd5.c/.exe -- demonstrates use.

For further information start by taking a look at the readme.txt file.


version 1.5 released 7/14/2019:  Added missing include guard to header file.

Click here to download  phmd515.zip


version 1.4 released 11/13/2017:  Changed bytecnt fields from type unsigned to size_t for 64-bit compatibility.

Click here to download  phmd514.zip


version 1.3 released 4/29/2010:  Small logic addition to resume in-place hashing when possible.

Click here to download  phmd513.zip


version 1.2 released 4/16/2010:  Added support for 64-bit compilation.

Click here to download  phmd512.zip


version 1.1 released 4/14/2010:  Replaced assembly code with C.

Click here to download  phmd511.zip


version 1.0 released 4/12/2010:  Initial version.

Click here to download  phmd510.zip


You are visitor 17703       Go to Home Page