:
Upper case, lower case, number, special char
パスワードは、少なくとも8文字の長さにする必要があります。私はこれらのパスワード制限は反対の効果を知っている正規表現特定のパスワードの制限
EDIT
は、その要求ではなく、強力なパスワードを取得する私の素朴なアイデアです。有効なパスワードの
例:無効なパスワードの
Password3 // Upper case, lower case, number
Password! // Upper case, lower case, special
password3! // Lower case, number, special
PASSWORD3! // Upper case, number, special
Password3! // Upper case, lower case, number, special
例:
(?=.*[A-z\d]+)(?=.*[[email protected]!?]+)(?=.*[a-z\[email protected]!?]+)(?=.*[A-Z\[email protected]!?]+)[A-z\[email protected]!?]{8,}
Hopefuly、私はなぜこの正規表現を知っている:ここで
password // Only lower case
password3 // Only lower case and number
password! // Only lower case and special
Password // Only Upper case and lower case
Pw3! // Too short
は、私が書いた正規表現でありますもし無効ならば、無効なパスワードとマッチする1つの試合だけでなく、グループからのすべて?
パスワードを直線的にスキャンし、要件を確認するだけではどうですか?あなたがそれを最後までして、1つまたは複数が見つからない場合、あなたは有効な文字列を持っていないことを知っています。 – NathanOliver
私はそのような方針を気にしないことをお勧めします。彼らは、あなたが考えることができるあらゆる簡単なトリックを既に説明している現代のパスワードクラッキング技術に対して、もはや有効ではありません。彼らはあなたのためにもっと多くの仕事を加え、より多くの方法であなたの道に入ります。専門的に作られた[パスワード強度](https://en.wikipedia.org/wiki/Password_strength)チェッカーを使用するか、気にしないでください。これについて[Security.SE](https://security.stackexchange.com/)で尋ねることを検討してください。 – Schwern
これらのルールの少なくとも3つの組み合わせ*は、交互に巨大な正規表現を必要とします。これらを複数の小さなものに分割する方がよい。 –