I think it's time for someone to come up with a radically better authentication mechanism.
I think it's time for someone to come up with a radically better authentication mechanism.
Yes, you could have a bot that checked the top 50 passwords against a few thousand or so accounts- but even then, you'd only get one or two matches at most.
What if sites blocked passwords that have been used more than twice already? So, at most, there would be two "123456" passwords- any secure password is more than likely something that no more than one other person on any given site would be using.
[Edited: Whoops, did the math too quickly]
Actually, 3000/1000000 = .003, so a .3% chance.
How about instead just implementing a blacklist of unacceptable passwords?
"I'm sorry, another user on this system is already using the password you have submitted. Please choose a different one."
That's not the sort of information you want to be leaking.
If you are going to have a strength requirement, then run your strength validation routine and deny weak passwords. That a password is duplicated seems like a special case of weakness that is not worth checking for.
i.e. You probably don't want special checks for 'password' or '123456' either, since your strength validation routine should catch these.