Password

為什麼這個隨機密碼被標記為過於簡單/系統化?

  • September 23, 2014

根據passwdcracklib-check如何將隨機字元串M1uG*xgRCthKWwjIjWc*010iSthY9buc檢測為密碼過於簡單/系統化?在你的機器上試試看

echo "M1uG*xgRCthKWwjIjWc*010iSthY9buc" | cracklib-check

請注意,這不是我的密碼,而是來自同一隨機密碼生成器的另一個隨機生成的字元串,它產生相同的結果。

由於cracklib是開源的,所以可以在源碼中找到答案。

“過於簡單化/系統化”意味著有太多的字元前面有一個按字母順序排列的鄰居。因此“ab”或“ba”被認為是壞的,但“ac”或“ca”是可以的,因為b被省略了。

2010-03-02 的這個更新檔之前,它最多允許四個角色表現出這個特徵。例如,“bar12345”會失敗,因為字元“a”、“2”、“3”、“4”和“5”是前面字元的字母鄰居。

slm 在他的回答中發現沒問題M1uG*xgRCthKWwjIjWc*010iS,而M1uG*xgRCthKWwjIjWc*010iSt不是。我們來分析一下。以下是cracklib-check 認為是系統密碼跡象的字元:

M1uG*xgRCthKWwjIjWc*010iS
              ^^    ^^

這低於四個最大值,但添加了 t:

M1uG*xgRCthKWwjIjWc*010iSt
              ^^    ^^  ^

將其推到極限之上,因為 T 跟隨 S(看起來測試不區分大小寫)。

該更新檔更改了最大限制,因此它取決於總密碼長度,以避免這樣的誤報。

引用自:https://unix.stackexchange.com/questions/121087