Little reimplementation of crypt.md5 to avoid leaking bits