jpadie said:
the lack of 'security' that i would consider is simply that there are a lot of sites out there that are storing reverse md5 hashes whereas i have not seen so many that do the same for sha1.
This raises a good point. However, this is not such a serious concern if you use a salted hash.
Adding salt to your hash simply means appending a randomly chosen string to your input value before calculating the hash value. In this example, the user table in the database would contain an additional salt column, which would contain a randomly computed string. Instead of just calculating the MD5 hash of the user-entered password, you would append the salt string to the end of the password and calculate the hash value of the combined string.
This effectively prevents dictionary attacks based on the MD5 hash because, while the password itself might appear in a lookup table, the combined password and random string is not likely to. And if the attacker is able to obtain the salt value for a particular use, he still has to recompute his lookup table to include the salt. And since each user has a different sale, he would have to do this separately for each one, significantly increasing the cost of the attack.
As for the security of MD5 per se, a collision attack against it and a related family of algorithms was discovered in 2005. However, I believe that attack requires that you know the original plaintext, and so is not a big concern for this type of usage.
The real problem raised by the comments in the linked article was the technique of storing the MD5 hash of the password in a cookie. As jpadie pointed out, a simple MD5 hash of the password is susceptible to a dictionary attack. Combine that with the fact that it is relatively easy for an attacker to read the browser's cookies and stealing a password becomes that much easier.