以下に基づいて、任意の文字列がM1uG*xgRCthKWwjIjWc*010iSthY9buc
パスワード/システムと比較して単純すぎると検出される方法パスワードそしてクラックライブラリの確認?コンピュータで試してみてください。
echo "M1uG*xgRCthKWwjIjWc*010iSthY9buc" | cracklib-check
これは私のパスワードではなく、同じランダムパスワードジェネレータでランダムに生成された別の文字列であり、同じ結果を生成します。
ベストアンサー1
cracklibはオープンソースなので、答えは以下にあります。ソースコード。
「過度に単純化/体系的」とは、あまりにも多くの文字の前にアルファベット順の隣人の1つがあることを意味します。したがって、「ab」または「ba」は悪いと見なされますが、「ac」または「ca」はbが省略されているので大丈夫です。
今後このパッチは2010-03-02からです。、これは最大許容4文字これらの特性を示しています。たとえば、「bar12345」は、文字「a」、「2」、「3」、「4」、および「5」が先行文字のアルファベットネイバーであるため失敗します。
slmは彼の答えで「M1uG*xgRCthKWwjIjWc*010iS
しかしM1uG*xgRCthKWwjIjWc*010iSt
そうではない」ことを発見しました。それを分析しましょう。以下は、crashlib-checkがシステムパスワードを表すと見なす文字です。
M1uG*xgRCthKWwjIjWc*010iS
^^ ^^
4つの最大値を下回っていますが、tを追加すると次のようになります。
M1uG*xgRCthKWwjIjWc*010iSt
^^ ^^ ^
TがSに従うので限界を超えているのです(テストでは大文字と小文字を区別しないようです)。
パッチは、これらの誤検出を防ぐために、パスワードの全長に応じて最大制限を変更します。