md5 Algorithm

It remains suitable for other non-cryptographic purposes, for example for determine the partition for a particular key in a partitioned database. Although MD5 was initially designed to be used as a cryptographic hash function, it has been found to suffer from extensive vulnerabilities.

md5 source code, pseudocode and analysis

The processing of a message block consists of four like phases, termed rounds; each round is composed of 16 like operations based on a non-linear function F, modular addition, and leave rotation. MD5 processes a variable-length message into a fixed-length output of 128 bits.