Password
影子文件是否有加密密碼?
man 5 shadow
關於第二個領域的說法是:加密密碼
現在是這樣嗎?我認為它應該說“散列密碼”。我對麼?
不,影子文件不包含加密密碼,在我見過的任何 Unix 變體上都沒有。這將需要某個地方的加密密鑰——它會在哪裡?
甚至該
crypt
函式的原始版本實際上也是一個散列函式。它通過使用密碼作為DES變體的密鑰進行操作。的輸出crypt
是所有位為零的塊的加密。儘管這使用加密函式作為實現的一部分,但該crypt
操作不是加密操作,它是一個散列函式:一個難以計算逆函式並且很難找到產生相同輸出的兩個值的函式。在其限制範圍內,最初的基於 DES 的
crypt
實現遵循良好密碼散列函式的基本原則:不可逆函式、帶鹽和減速因子。考慮到當今的計算能力,是限製而不是設計使其不適合:密碼中最多 8 個字元,總大小使其易於暴力破解,鹽太短,迭代次數太短。由於
crypt
名稱(由於內部使用加密的事實crypt
),並且由於直到最近很少有人接受過密碼學方面的教育,因此該crypt
函式和其他環境中的等效函式的許多文件將其描述為“密碼加密”。但它實際上是一個密碼雜湊,而且一直都是。現代系統使用基於更強大算法的密碼散列函式。雖然其中一些算法被稱為“MD5”、“SHA-256”和“SHA-512”,但雜湊計算不是像MD5(密碼+鹽),而是滿足慢度要求的迭代雜湊(雖然常用方法缺乏防止基於 GPU 加速的記憶體硬度)。