ご存知かもしれませんが、ハッカーはどこにでもいて、すべてをハッキングしたいと考えています。あなたはハッカーを止めるパスワード要件を作るように頼まれました。問題は、上司がLOCにお金を払うのは悪いことだと聞いており、彼が月に挿入する$ 1800-$ 0.03 *文字を支払って、おそらく最も簡単に機能するものを書くようにしていることです。そのため、少数の文字(できれば非常に小さい文字)を使用するか、現金を忘れる必要があります。また、上司は使用する言語を気にしません。
良いパスワードの要件は、前述の記事の要件と似ていますが、外部ファイルにソリューションが依存するのを避けるために辞書ベースの要件が削除され、再配置された文字を確認する必要がありません(実際の意味を理解するのが難しい)、最後のルールは削除され(3/4とは?)、古いパスワードはチェックされません。
リンクされた記事から特定の要件を削除した後の正確な要件は次のとおりです。
- 少なくとも8文字が必要です!
- 12文字を超えないでください!
- 大文字と小文字があります!
- 大文字は8文字までです!
- 小文字は8文字までです!
- 少なくとも2つの文字があります!
- 一流の手紙があります!
- 少なくとも1桁が必要です!
- ユーザー名ではありません!
- ユーザー名を逆にしてはいけません!
- ユーザー名が含まれていません!
- 後方にユーザー名を含めないでください!
- 繰り返し文字のペアは1つのみです!
- 同じキャラクターが3回出現していない!
- カラットを含まない(^)
- スペースを含まない
- 含まない=
- ないconatain&
- #を含まない
- 含まない、
- 一致しない;
- 「を含まない
- 含まない>
- <を含まない
- 含まない[
- 含まない|
- を含まない)
このリストのスペルミスはすべてそのまま残されました。
$ ./checkpass
Username: John
Password: L!]E2m69
OK.
$ ./checkpass
Username: John
Password: JohnnhoJ12
Nope.
$ ./checkpass
Username: JOE.smith
Password: JOE!smith123
OK.
最短のコードが賞金を獲得します(JPGファイルとして送信されます)。「ユーザー名:」および「パスワード:」のプロンプトを表示し、正確なメッセージで返信する必要があります。
1をエルではなく(数字の1)と読みました。