 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
an1060
註冊時間: 2004-02-29 文章: 48 來自: 高雄
第 1 樓
|
發表於: 星期四 六月 10, 2004 10:06 am 文章主題: 使用MD5演算法為使用者之密碼加密 |
|
|
文章來源:天心論壇(原始出處:不知)
前言:
經常在論壇上看到網友討論各種密碼加密算法,實際上現成的加密算法很多,進行簡單的處理就可以應用在VFP中,故製作了這個VFP外部庫。
PS:剛剛得知RMH的mydll中包含有md5的函數,我看了一下,為什麼只有16位呢?md5算法的輸出結果是128位的,因此被用在對安全性要求較高的場合。如果你只需要簡單的加密,可以使用VFP自帶的sys(2007)校驗和函數,和16位加密差不多是一個數量級的。
md5算法簡介:
md5是一種高強度、不可逆的加密算法,全稱是Message-Digest Algorithm 5,在90年代初由MIT的計算機科學實驗室和RSA Data Security Inc發明,經MD2、MD3和MD4發展而來。
md5通過Hash變換將任意長度的字節串變換成一個128位的大整數,主要用於密碼加密和電子指紋驗證。
使用方法:
下載附件並解壓出md5.fll文件,在VFP中執行:
set library to md5.fll && 該文件放在默認路徑下或者在命令中包含全路徑
?md5("") && 輸出"d41d8cd98f00b204e9800998ecf8427e"
?md5("a") && 輸出"0cc175b9c0f1b6a831c399e269772661"
?md5("abc") && 輸出"900150983cd24fb0d6963f7d28e17f72"
在VFP中,把用戶輸入的密碼用md5()函數變換成一個32字節的十六進製表示的字符串並保存在數據庫中,驗證密碼時,無需(事實上也無法)轉換回原始密碼,再次對輸入的密碼進行md5()變換並與數據庫中保存的密碼進行比較即可。
說明:
開發工具: Visual C++ 6.0
算法C語言源程序:RFC1321 (http://www.ietf.org/rfc/rfc1321.txt)
版權:
請在命令窗口中執行:
?md5copyleft()
MD5 算法 1.0
CopyLeft @ 2003, l_b@263.net
CopyLeft的意思我想大家都明白,我就不多說了。大家在使用中有任何問題歡迎和我聯繫,Email地址見上。
希望此貼是VFP密碼加密問題的終結,  |
|
回頂端 |
|
 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 2 樓
|
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|