The mistake you're making is thinking of bcrypt as a protection for end-users and their passwords.<p>It isn't. Bcrypt exists to protect application developers.<p>A user with a crappy password is getting his account busted one way or another. You're right to point that out. Cryptography won't solve that problem.<p>The problem crypto solves is this: a crappy <i>web app</i> that loses its user table is royally screwed if its devs settled for "salted hashes". At the whim of their attackers, hundreds or thousands of their user's passwords are going to hit Rapidshare. That's what the devs will be famous for.<p>Bcrypt keeps that from happening. You'll get famous behind losing 1000 passwords. You won't get famous behind losing 20.