2009-11-17 42 views
0

我想在php登錄驗證中一起使用md5()crypt()如何在php和msyql中一起使用md5()和crypt()

我試圖使用md5(crypt(string),salt);但我無法在mysql中登錄。

有誰知道如何一起使用它們?非常感謝。

+0

注意'crypt'只使用'salt'中的前兩個字符和'string'中的前八個字符,'md5'對於密碼散列並不安全,因爲它太快了(http://chargen.matasano.com/的chargen/2007/9/7 /夠,用最彩虹表,什麼,你需要到專門約-s.html)。檢查您的系統是否支持更新的哈希函數,例如Whirlpool或SHA-2系列的哈希函數。 http://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms – outis 2009-11-17 15:58:59

+0

謝謝outis,是的,Md5不夠安全,所以我嘗試將它與crypt一起使用。並且安全級別高於md5,並且我無法使用md5解密器(http://www.md5decrypter.com/)對其進行解密。而且我找不到解密md5格式的密碼的方法(crypt($ string,$ salt))。我已閱讀你建議的文章。它很酷且安全。我也想知道如何使用它。我在Windows中使用wamp服務器。你有什麼建議嗎?乾杯。 – 2009-11-17 17:41:16

回答

2

你已經有了一個開始在錯誤的函數的鹽:

md5(crypt(string,salt)); 

此外,假設字符串和鹽,你將需要$前綴他們變量:

md5(crypt($string,$salt)); 
+0

感謝ILMV,你是對的。 – 2009-11-17 15:05:53

+0

沒問題,很高興我能幫忙:-) – 2009-11-17 15:06:19