There's a shit load of them. Most usually do what you want. Check out the the md4, md5, ntlm, checksums, lanman, sha, etc. In between these there are like 50 different algorithms. Each one has different versions.