Recent versions of mhash include support for sha512, which is what I use.
All hashing algorithms are vulnerable to brute force attacks - it's just a matter of how long it takes. Whatever algorithm you use you should make sure it's salted to avoid simple hash dictionary attacks.