2009-11-17 45 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