I'm looking into hash and salting passwords using bcrypt in PHP. Can someone explain to me why brcypt's use of "work" / "rounds" prevents attacks?
I've already read "How do you use bcrypt for hashing passwords in PHP?", but I'm having a hard time understanding what makes it so special if someone got a hold of your database and could crack it offline?
Would it be potentially up to the salt and hash together to protect the database against rainbow tables? Or does bcrypt do something special to help prevent attacks like this?