有沒有一種方法可以從命令行檢查由Apache提供的工具htpasswd創建的文件的用戶名和密碼?根據htpasswd創建的文件驗證用戶名和密碼
12
A
回答
18
假設您創建密碼使用以下命令和「MYPASSWORD」作爲密碼
htpasswd -c /usr/local/apache/passwd/passwords username
這將創建一個看起來像
username:$apr1$sr15veBe$cwxJZHTVLHBkZKUoTHV.k.
的$ APR1 $文件是散列法,sr15veBe是鹽,最後一個字符串是哈希密碼。您可以通過使用
openssl passwd -apr1 -salt sr15veBe myPassword
OpenSSL的將輸出
$apr1$sr15veBe$cwxJZHTVLHBkZKUoTHV.k.
的管線鋪設,您可以使用將驗證它:
username="something"
htpasswd -c /usr/local/apache/passwd/passwords $username
****Enter password:****
salt=$($(cat passwords | cut -d$ -f3)
password=$(openssl passwd -apr1 -salt $salt)
****Enter password:****
grep -q $username:$password passwords
if [ $? -eq 0 ]
then echo "password is valid"
else
echo "password is invalid"
fi
您可能需要改變你的OpenSSL的命令,如Apache的htpasswd命令在每個系統上稍有不同。
欲瞭解更多信息,請訪問Apache的頁面上的話題在http://httpd.apache.org/docs/2.2/misc/password_encryptions.html
5
可以使用htpasswd
工具這一點。
# create htpasswd_file with user:password
$ htpasswd -cb htpasswd_file user password
Adding password for user user
# verify password for user
$ htpasswd -vb htpasswd_file user wrongpassword
password verification failed
$ htpasswd -vb htpasswd_file user password
Password for user user correct.
退出狀態是0
成功,3
失敗。
相關問題
- 1. 根據AD異常驗證用戶名和密碼
- 2. Windows mobile C#根據Active Directory驗證用戶名和密碼?
- 3. 解密用htpasswd創建的密碼
- 4. 的用戶名和密碼驗證
- 5. 驗證用戶名和密碼
- 6. ASP.NET C#驗證用戶名和密碼
- 7. 驗證用戶名和密碼iOS
- 8. jquery驗證用戶名和密碼
- 9. 驗證用戶名和密碼
- 10. 用戶名和密碼驗證在PHP
- 11. facebook oauth用戶名和密碼驗證
- 12. 驗證MySQL用戶名和密碼
- 13. 驗證用戶名和密碼
- 14. 用戶名和密碼驗證PHP MySql
- 15. 驗證用戶名和密碼
- 16. 用戶名和密碼驗證turbo c
- 17. 從數據庫驗證硬編碼的密碼和用戶名
- 18. 如何根據MediaWiki用戶表驗證密碼散列密碼?
- 19. 用戶和密碼驗證
- 20. 用戶名和密碼的數據庫驗證不起作用。
- 21. 使用.htaccess和.htpasswd時未使用用戶名和密碼?
- 22. 驗證在asp.net數據庫中的用戶名和密碼
- 23. 驗證數據庫中的用戶名和密碼
- 24. 驗證Twitter的用戶名/密碼
- 25. 使用數據庫進行Java用戶名和密碼驗證
- 26. 如何使用數據集驗證用戶名和密碼
- 27. 創建用於驗證密碼的preg_match(!@#$%)
- 28. 在不驗證用戶身份的情況下驗證用戶名和密碼
- 29. 驗證用戶名密碼java ldap jndi
- 30. php mysql用戶名密碼驗證
嗯。有關[htpasswd]程序的[tag:htpasswd]標籤,但系統不會讓它與[tag:.htpasswd]標籤共存... – Charles