Apache-Httpd
如何區分 htpasswd 的加密算法?
我有一個在 Debian Linux 上執行的 apache Web 伺服器,我使用 htaccess 保護了某個目錄。我不知道 .htpasswd 文件是如何創建的。Apache 文件說 crypt() 加密用於加密密碼,直到版本 2.2.17 和 MD5 加密從 2.2.18 開始使用。如何區分我的 .htpasswd 文件使用哪種加密方式?
我不知道 .htpasswd 文件是如何創建的。
您可能正在尋找
htpasswd
命令。閱讀手冊頁以獲取更多詳細資訊:man htpasswd
如何區分我的 .htpasswd 文件使用哪種加密方式?
為什麼你需要知道這一點?如果您只想編輯文件,我認為知道這一點並不重要。
我問是因為我覺得他們倆都很脆弱。
我機器上的
htpasswd
命令可以使用四種不同的密碼格式:# MD5 (default) martin@martin ~ % htpasswd -m -b -n user pass user:$apr1$uFKIg3No$ItOJ5p6EEbALwPDYcPDd0. # crypt martin@martin ~ % htpasswd -d -b -n user pass user:qMYdeiUkbhR/o # SHA martin@martin ~ % htpasswd -s -b -n user pass user:{SHA}nU4eI71bcnBGqeO0t9tXvY1u5oQ= # Plain martin@martin ~ % htpasswd -p -b -n user pass user:pass
這應該可以幫助您弄清楚您正在使用哪種格式。
我想知道您關心的是什麼……只有在攻擊者能夠訪問該
.htpasswd
文件時才關心雜湊是否易受攻擊,這在理智的配置中應該是不太可能的。該.htpasswd
文件應儲存在服務目錄之外,例如 中的某個/etc
位置,Web 伺服器可以訪問它,但不會提供它。您更應該關心的是HTTP Basic Auth 以明文傳輸密碼的事實,如果您不使用 HTTPS,這絕對是不安全的。因此,如果您擔心安全性,請考慮切換到HTTP Digest Auth。