Please do not tell me which characters I cannot use in my passwords.
You must support the full range of Unicode code points in passwords, with the possible exception of ASCII control characters ( \0 - \0x20 ).
You are responsible for ensuring that any normal character works in a password, including spaces, quotation marks, and backslashes.
Passwords cannot be vulnerable to SQL injection, since the database should never see the actual password . You must use and use your passwords before they enter the database. (use bcrypt)
Minimum difficulty requirements are a double-edged sword. If you need a password that is too hard to remember for your users, they end up writing it somewhere, and probably somewhere nearby.
At least you need 6 characters and at least two of AZ , AZ , 0-9 or any other character.
source share