If nothing else, it aims to put to rest stupid phrases like "password encryption".
If people copy&paste despite all the warnings, they're beyond the help of any blog post.
EDIT: In the spirit of being more helpful, I've added links to more complete sample code (on StackOverflow) and made the warnings less obnoxious.
Also I'm not sure "password hashing" is any more descriptive than "password encryption."
I'll consider it.
> Also I'm not sure "password hashing" is any more descriptive than "password encryption."
It absolutely is. Encryption is a two-way transformation of data. It is, by design, reversible.
Hashing is one-way.
Password hashing is a special case of hashing where you want it to be computationally expensive (even with special hardware at your disposal) to attack, but still perform well enough to interact with.
Password encryption implies that a two-way transformation has taken place, and given the key, you should be able to reverse it. This is not within the scope of the requirements for secure password storage.
It's not any more clear to see an example of how NOT to do something. And yes, despite all the comments, someone will copy and paste that into their program, remove the comments, and then never really properly update the code.