Let's not forget that Hashing algorithms is only part of the solution.
As @DoubleDee ; astutely pointed out, collisions (which result in duplicate entries in the database) are a great asset to a would-be hacker.
That is why it is important to use a unique salt before hashing.
There are two ways (that I know) to approach this. You either include the username as the salt. This is the most common because it is the simplest.
The other is to generate a random string to append (or prepend) to the password before hashing. In this case you need to store that unique value in the database also.