可能重复: MD5真的那么坏吗?
嗨,
我正在尝试创建一个相当安全的登录函数。我使用md5()函数将用户插入使用SQL和MySQL的MySQL表中,但是该表中出现的字母和数字字符串,难道不是一种加密和相当安全的方法吗?
希望有一些好的建议来创建一个登录函数。谢谢!
发布于 2011-04-16 07:17:47
是的,这就是你看到的哈希。如果您正在使用md5(),请确保至少使用一种盐。为每个用户提供一个可变的盐分是理想的。
我还建议您研究一下bcrypt。它比其他哈希函数慢得多,而且更安全。
另一个选项是PHP的地窖函数。
这个问题对一些散列/加密方法有几个答案。您也应该检查一下:如何使用bcrypt在PHP中哈希密码?
但是,如果您通过HTTP发送用户密码,所有这些都将是徒劳的。因此,请确保您也有HTTPS和SSL设置。并强制执行强密码!(免责声明-一些人反对强制使用强密码,因为它激怒了用户。)你必须决定)
发布于 2011-04-16 07:11:49
MD5不是加密,而是散列。哈希函数的设计不是要反转的,但是它的输出被认为是相对唯一的,尽管它的长度是固定的,所以如果您使用像SHA-1或SHA-2这样的加密安全的密码(MD5不再是密码安全的),那么这是一种安全存储密码的好方法。
发布于 2011-04-16 07:14:35
MD5是散列函数。它的工作方式是使用一个很难逆转的数学运算。这是存储密码的好方法。对于登录检查,您只需使用使用登录表单提供的密码,也可以应用MD5函数,并比较结果。不过,还有一个警告: MD5不再被认为是安全的了。使用SHA-1或其他。
https://stackoverflow.com/questions/5685055
复制相似问题