C implementation of the MD5 algorithm