用Perl來管理Apache驗證身份時所用的密碼(轉)
用Perl來管理Apache驗證身份時所用的密碼(轉)[@more@]本文介紹如何用Perl來管理Apache驗證身份時所用的密碼,包括如何加密密碼,如何修改文字檔案、DBM資料庫、MySQL資料庫中的使用者記錄,等等。一、加密密碼(3月26日) 前面三篇文章討論了在Apache上實現身份驗證的各種方法,即如何在使用者訪問某些受保護的資源時顯示一個要求輸入名字和密碼的對話方塊。手工管理密碼往往是非常麻煩的,這裡要介紹的就是一些透過Perl自動維護密碼列表的方法。 注意:本文假定你已經具備一些Perl的基礎知識。如果你還沒有聽說過Perl,下面是一個簡單的介紹:Perl是一種程式語言。它是一種非常流行的程式語言,在文字處理、埠通訊、協調多個不同應用以及完成其他諸多工時都受到人們的歡迎。Perl同時也是一種頗有名氣的流行CGI程式語言,不過這只是Perl諸多應用中的一種。 在使用者和密碼的管理中,掌握加密密碼的方法是非常必要和有用的。Perl提供了一個內建的函式來完成這一任務,這個函式就是crypt。要使用這個函式,你必須先搞清楚下面這些問題。 首先,正如以前的一篇文章所提到的,Apache以“Unix crypt”格式儲存密碼,用Perl的crypt函式加密字串得到的也是這種格式。為加密字串,我們需要一個稱為“salt”的字串,它是兩個(或者兩個以上)字元構成的字串,用於啟動加密過程。salt一般是隨機生成的,根據所選salt的不同加密字串之後得到的結果也不同。 在Perl程式中呼叫crypt函式的形式如下所示: $encrypted = crypt ($password, $salt); 上例假定$password已經由使用者透過某種方式提供,$salt已經透過某種方式生成。請參見下面的更多說明。 crypt是一種不可逆的加密演算法,也就是說,一旦我們加密了一個字串就沒有辦法把它還原得到原來的字串。這意味著,要知道使用者輸入的密碼是否和正確的密碼一樣,唯一的方法是把使用者輸入的密碼也加密,看看加密結果是否和正確密碼的加密結果一樣。當然,兩次加密所用的salt應該一樣。 crypt函式把加密所用的salt作為加密結果的前兩個字元保留,所以我們可以用如下程式碼驗證使用者輸入的密碼是否正確: $guess_encrypted = crypt ($guess, $encrypted);if ($guess_encrypted eq $encrypted) {print "密碼正確.
";}else {print "密碼錯誤.
";} 當我們為salt指定一個具體的字串時,Perl知道且只使用該字串的前面兩個字元: 順便說一下,如果要自己生成salt,我們可以使用下面的程式碼: @a=(0..9,&single;a&single;..&single;z&single;);$pass = join &single;&single;, map { $a[int rand @a] } (0..1); 這段程式碼生成了一個由兩個字元構成的字串,字元可能是字母也可能是數字。當然,和Perl中的其他許多事情一樣,我們還可以使用其他各種方法生成salt
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-937365/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Apache基於MySQL的身份驗證(轉)ApacheMySql
- 用WPS格式轉換工具校驗身份證號碼
- swift 郵箱、密碼、手機號、身份證驗證正則Swift密碼
- 無密碼身份驗證:安全、簡單且部署快速密碼
- PHP 驗證身份證號碼PHP
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- 靜態密碼已經”OUT”探索身份驗證新方式密碼
- 身份證號碼驗證系統
- 身份證號碼之js驗證JS
- 實時驗證碼技術可改進生物識別身份驗證
- java 實現從15位~18位的身份證號碼轉換,校驗中國大陸公民身份證、香港居民身份證、澳門身份證和臺灣身份證。Java
- 精確驗證身份證號碼程式碼
- javascript實現的身份證號碼驗證程式碼JavaScript
- 無密碼身份認證,跟密碼說再見!密碼
- 直播app原始碼,進行身份驗證時,檢測身份證位數夠不夠APP原始碼
- 1.6.5.1. 準備使用密碼檔案進行身份驗證密碼
- 無密碼身份驗證如何保障使用者隱私安全?密碼
- 身份證號碼驗證演算法演算法
- js實現身份證號碼驗證JS
- javascript身份證號碼校驗JavaScript
- C++身份核驗介面程式碼、身份證OCR、身份證實名認證APIC++API
- Ext實現的身份證格式驗證程式碼
- 身份證校驗碼的計算方法
- asp.core 同時相容JWT身份驗證和Cookies 身份驗證兩種模式JWTCookie模式
- Oracle的身份驗證Oracle
- 密碼安全和無密碼身份認證那些事兒密碼
- javascript 驗證身份證JavaScript
- WEB身份驗證Web
- ACCESS 密碼驗證/文字驗證中的小坑密碼
- 身份證驗證工具類
- 一個用Perl分析Apache Log的簡單程式(轉)Apache
- ORACLE 11g的密碼錯誤延時驗證Oracle密碼
- 新!Web身份驗證新標,支援免密登陸Web
- js實現的身份證合法性驗證程式碼JS
- javascript實現的身份證號碼合法性驗證程式碼JavaScript
- 身份認證的盡頭竟然是無密碼 ?密碼
- Oracle 密碼驗證方式Oracle密碼
- 利用Dll實現通用密碼驗證框 (轉)密碼