Password
為什麼這個隨機密碼被標記為過於簡單/系統化?
根據passwd和cracklib-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(看起來測試不區分大小寫)。
該更新檔更改了最大限制,因此它取決於總密碼長度,以避免這樣的誤報。