1
  • キーボード パターンはありません。つまり、キーボード上で垂直または水平に隣接するキーです。たとえば、「ZXCVBN123」は拒否する必要があります。
  • 一般的に使用される単語や、逆に書かれた単語や特殊文字で偽装された単語はありません。たとえば、「Universe1」と「Un1ver$e」は拒否する必要があります。
4

2 に答える 2

1

さて、最初にあなたはあなたが望むものを正確に定義する必要があります。キーボードパターンとは何ですか?'jk'はキーボードパターンですか、それとも'jkl'ですか?そこにある最短のパターンは何ですか?「gy」はパターンですか?まず、実際にどのようなパターンを定義する必要があります。

次に、利用可能なすべてのパターンのリストを作成する必要があります(それほど多くはありません。36の開始点と各開始点から4つの方向があります)。パスワードを取得したら、その中の各パターンを見つけてください。最短のパターンが3文字の長さであると判断した場合、4文字のパターンを検索する必要はありません。すべての4文字のパターンにはすでに3文字のパターンが含まれています。

言葉に関しては、それは簡単ですが、最初に、許可されていないすべての変換($-> S、1-> iなど)のリストを作成する必要があります。単語を取得したら、すべての変換を適用して、「正規化された」単語を取得します。正規化されたパスワードをすべての有効な単語の辞書と2回比較します。2回目はパスワードを逆にします。

単語の最後にある数字を無視する必要があるため、おそらくそれよりも少し複雑なことをする必要があります。1ncredibleは「incredible」の代わりになりますが、ncredibleは単語ではありません。

于 2013-01-16T10:56:22.127 に答える
1

http://howsecureismypassword.netのコードを調べると、パスワードが多数の通常のパスワードと比較されていることがわかります。

ページ threre には、トップ 10.000 の最も一般的なパスワードをリストするページhttp://xato.net/passwords/more-top-worst-passwords/への参照があります。

1 つの方法は、そのリストをダウンロードして、ユーザーのパスワードをそれと照合するか、少なくとも上位 100 件を確認することです。

于 2013-01-16T12:17:13.017 に答える