2011-10-28 95 views
0

我發現了一件有趣的事情。我用htpasswd文件設置了Nginx的Base Auth。一切工作正常,但像<correct password><some random chars>密碼獲得訪問以及<correct password>htpasswd錯誤檢查

可以嗎?這是一個Nginx問題,還是與Nginx和Apache中使用的crypt方法有關?

回答

1

我與我們的服務器管理員分享了此信息。並且他找到了答案: crypt算法只散列前8個字符,所以如果您的密碼比8個字符長,則不會提高其防僞性。 如果你的密碼是6個標誌的長度,讓我們說

passwd文件

基本身份驗證將拒絕密碼一樣passwd01

如果使用htpasswd工具,並希望您的密碼比8更長符號來提高密碼強度,您最好使用md5sha算法(分別爲-m-s修飾符)對它們進行加密。

所以,你的主張

是它涉及到兩個Nginx的和Apache使用的地下室方法

是正確的

證明可以在GNU.org libc 32.3 Encrypting Passwords發現:

對於基於DES的算法,鹽應該由兩個charact組成從字母表.0-9A-Z-z中得到,並且隱窩的結果將是那兩個字符,然後是來自相同字母表的11個字符,總共13個字符。 只有密鑰的前8個字符有意義