Here's an implementation of the MD5 cryptographic hash algorithm described in rfc1321.
Techniques for producing collisions in MD5 hash codes are known, so MD5's use is being discouraged. I wrote this implementation in honor of a cryptography course I took in Winter of 2006.
To compute the MD5 digest of a file, type:
> cd [md5 dir] > java -cp ./classes cbare.md5.MD5 [file path]
Download the Java runtime here: www.java.com.