The question is not really correct. First, the criterion "most secure" can not be strictly defined. Moreover, suppose you have some secure algorithm, without a flaw like a
backdoor, which can use different hash sizes, a hash sizes being a parameter. You can always make it more "secure" by increasing the hash size. So, what is the "most secure"? Most secure per hash size? per processing time? How to measure it?
Please see for more information and comparison:
http://en.wikipedia.org/wiki/Cryptographic_hash_function[
^].
For the criteria of cryptographic quality, please see:
http://en.wikipedia.org/wiki/Strong_cryptography[
^],
http://en.wikipedia.org/wiki/Cryptanalysis[
^].
It's easier to say what is
not secure. For example, both MD5 and SHA-1 are considered broken and not recommended for any security purposes. Please see:
http://en.wikipedia.org/wiki/Md5[
^],
http://en.wikipedia.org/wiki/SHA-1[
^].
—SA