md5 1.0 from http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 (public domain)
