Security
密碼相似度
我想在 unix 機器上更改我的密碼。我做了一個正常的“passwd”並輸入了我的舊密碼和新密碼。
然後機器返回給我以下消息:
BAD PASSWORD: is too similar to the old one
這讓我開始思考……這是否意味著機器在某處有我的明文密碼?否則應該無法比較新舊密碼吧?或者是否有一個雜湊函式可以實現這一點?
好的,所以我按照Michael Hampton的建議去查看了pam_cracklib.c的程式碼,似乎 pam_cracklib 通過函式呼叫從 PAM 獲取了舊的(又名目前)密碼(我認為完全可以,因為我剛剛輸入了目前密碼進行身份驗證),然後在舊密碼和我剛輸入的新密碼之間進行相似性分析(距離函式)。
但它並沒有對其歷史上的所有舊密碼進行這種分析。這是不可能的,因為它們只儲存為雜湊值。對於他們來說,只能檢查他們是否相同。所以一切似乎都井井有條,就像我預期的那樣,但現在我明白為什麼會這樣了……謝謝大家。