程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> htpasswd 密碼生成工具介紹

htpasswd 密碼生成工具介紹

編輯:PHP基礎知識
 

在《htaccess入門教程》中提到了一個apache工具htpasswd,配合.htaccess使用,實現目錄密碼保護的功能。這對很多有私密性需求的網站來說,是相當有用的。

 

htpasswd使用專為Apache作了修改的MD5算法或系統函數crypt()加密密碼。htpasswd所管理的文件可以包含兩種類型的密碼;有些用戶的密碼使用MD5加密的,而同一個文件中的其他用戶密碼則使用 crypt()加密。

htpasswd的文件格式:

username:password,每行存儲一組。

這個工具放在在apache的bin目錄下。可以在命令行中調用它。

apache htpasswd命令用法

  htpasswd [-cmdpsD] passwordfile username

htpasswd -b[cmdpsD] passwordfile username password

htpasswd -n[mdps] username

htpasswd -nb[mdps] username password

-b

使用批處理方式。也就是直接從命令行獲取密碼而不進行提醒。使用這個選項需要特別注意,因為命令行中的密碼是清晰可見的。
-c

創建passwdfile文件。如果passwdfile已經存在,那麼將被清空並改寫。該選項不能和 -n 同時使用。
-n
在標准輸出上顯示結果而不是更新文件。用於生成可以為Apache非文本輸出存儲格式所接受的密碼記錄。這個選項改變了命令行語法,因為passwdfile參數(通常是第一個)被忽略了。該選項不能和 -c 同時使用。
-m
使用MD5加密密碼。在Windows, Netware, TPF上這是默認方法。
-d
使用crypt()對密碼進行加密。在Windows, Netware, TPF以外的平台上這是默認方法。雖然有可能在所有的平台上被htpasswd支持,但是在Windows, Netware, TPF上,該方法不能被httpd所支持。
-s
使用 SHA 對密碼進行加密。這種方法易於通過LDAP目錄交換格式和Netscape server進行交換。
-p
使用明文密碼(不加密)。雖然htpasswd在所有平台上都支持這種方法,但是httpd只能在Windows, Netware, TPF上支持這種方法。
-D
如果username存在於passwdfile中,則刪除該用戶。
passwdfile
包含用戶名和密碼的文本文件的名稱。如果使用了 -c 選項,若文件已存在則更新它,若不存在則創建它。
username
在passwdfile中添加或更新記錄。若username不存在則添加一條記錄,若存在則更新其密碼。
password
將被加密並存儲到文件中的明文密碼。必須和 -b 同時使用。

apache htpasswd命令用法實例

1、如何利用htpasswd命令添加用戶?

htpasswd -bc .passwd www.leapsoul.cn php

在bin目錄下生成一個.passwd文件,用戶名www.leapsoul.cn,密碼:php,默認采用MD5加密方式

2、如何在原有密碼文件中增加下一個用戶?

htpasswd -b .passwd leapsoul phpdev

去掉c選項,即可在第一個用戶之後添加第二個用戶,依此類推

3、如何不更新密碼文件,只顯示加密後的用戶名和密碼?

htpasswd -nb leapsoul phpdev

不更新.passwd文件,只在屏幕上輸出用戶名和經過加密後的密碼

4、如何利用htpasswd命令刪除用戶名和密碼?

htpasswd -D .passwd leapsoul

5、如何利用htpasswd命令修改密碼?

htpasswd -D .passwd leapsoul

htpasswd -b .passwd leapsoul phpdev

即先使用htpasswd刪除命令刪除指定用戶,再利用htpasswd添加用戶命令創建用戶即可實現修改密碼的功能。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved