Whats the deal with every single MD5 algorithm I find? I've tried them all (the ones that you have to call like 3 methods just to get the md5 hash), or at least all of the ones I can find, and none of them work. I jsut get long strings of 0's with the occasional letter interspersed randomly (different even between subsequent identical calls). What I need is a one-function MD5 algorithm, that doesn't require external libraries, because I cannot install them on my computer. I have openSSL, but haven't even figured out how to link those libraries into my prog, so that would be helpful too if you know how to do it with that. Thanks!!

/*
* This code implements the MD5 message-digest algorithm.
* The algorithm is due to Ron Rivest. This code was
* written by Colin Plumb in 1993, no copyright is claimed.
* This code is in the public domain; do with it what you wish.
*
* Equivalent code is available from RSA Data Security, Inc.
* This code has been tested against that, and is equivalent,
* except that you don't need to include two pages of legalese
* with every copy.
*
* To compute the message digest of a chunk of bytes, declare an
* MD5Context structure, pass it to MD5Init, call MD5Update as
* needed on buffers full of bytes, and then call MD5Final, which
* will fill a supplied 16-byte array with the digest.
*/
#include <string.h> /* for memcpy() */
#include "md5.h"