我發現了一件有趣的事情。我用htpasswd文件設置了Nginx的Base Auth。一切工作正常,但像<correct password><some random chars>
密碼獲得訪問以及<correct password>
。htpasswd錯誤檢查
可以嗎?這是一個Nginx問題,還是與Nginx和Apache中使用的crypt方法有關?
我發現了一件有趣的事情。我用htpasswd文件設置了Nginx的Base Auth。一切工作正常,但像<correct password><some random chars>
密碼獲得訪問以及<correct password>
。htpasswd錯誤檢查
可以嗎?這是一個Nginx問題,還是與Nginx和Apache中使用的crypt方法有關?
我與我們的服務器管理員分享了此信息。並且他找到了答案: crypt
算法只散列前8個字符,所以如果您的密碼比8個字符長,則不會提高其防僞性。 如果你的密碼是6個標誌的長度,讓我們說
passwd文件
基本身份驗證將拒絕密碼一樣passwd01
如果使用htpasswd
工具,並希望您的密碼比8更長符號來提高密碼強度,您最好使用md5
或sha
算法(分別爲-m
和-s
修飾符)對它們進行加密。
所以,你的主張
是它涉及到兩個Nginx的和Apache使用的地下室方法
是正確的
證明可以在GNU.org libc 32.3 Encrypting Passwords
發現:
對於基於DES的算法,鹽應該由兩個charact組成從字母表.0-9A-Z-z中得到,並且隱窩的結果將是那兩個字符,然後是來自相同字母表的11個字符,總共13個字符。 只有密鑰的前8個字符有意義。