If you're going to be rolling your own user handling in your application, no doubt you've heard that something like bcrypt-ing your passwords is a good idea. Well, Anthony Ferrara has some suggestions for you and shows you seven ways you can "screw up" when trying ti implement it.
There are numerous articles on the web about how to properly use bcrypt in PHP. So this time, rather than write yet-another-how-to-use-bcrypt article, I'm going to focus on the mistakes that are commonly made when implementing bcrypt.
Here's the list of seven ways (each has its own description in the post):
- Using A Non-Random Salt
- Using An Incorrect Random Source for Salt Generation
- Using Too Weak Of A Cost Parameter
- Using The Wrong PHP Version
- Using The Wrong Prefix
- Not Checking For Errors
- Not Using A Library
He also includes two "bonus" things to consider: "Not Using A Timing Safe Comparison" and "Not Encoding The Salt Correctly".