可能的重复:
PHP 密码的安全哈希和盐 https://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords
我正在制作一个网站,我需要一个安全的算法来存储密码。
我首先想到的是 bcrypt,但后来我发现我的主机不支持它,而且我无法更改主机。
我的主机允许这种加密:
这些哈希值:
- MD5
- md2、md4 和 md5
- sha1、sha256、sha384 和 sha512
- ripemd128、ripemd160、ripemd256 和ripemd360
- 漩涡
- Tiger128,3、tiger160,3、tiger192,3、tiger128,4、tiger160,4 和tiger192,4
- snefru
- gost
- adler32
- crc32 和 crc32b
- 哈弗128,3, 哈弗160,3, 哈弗192,3, 哈弗224,3, 哈弗256,3, 哈弗128,4, 哈弗160,4, 哈弗192,4, 哈弗224,3, 哈弗256,4, 哈弗128,5, 哈弗160,5, 哈弗192, 5、哈弗224,5 & 哈弗256,5
那么,你们中的任何人都可以用它和盐来修复一个好的算法吗?
您根本不应该存储加密(甚至未加密)的密码。相反,使用加盐哈希 https://stackoverflow.com/questions/1592608/what-is-safest-method-to-store-passwords-in-a-table(拉伸,例如PBKDF2 https://en.wikipedia.org/wiki/PBKDF2),最好是 SHA2-512。
作为参考,这里是列出的哈希值的分类(请参阅维基百科 http://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms详情):
加密(不是哈希函数):DES
非加密校验和(可笑):adler32、crc32、crc32b
Broken:MD2、MD4、MD5、SHA1
可能坏了:Tiger、snefru、GOST、HAVAL*
可能安全:SHA2-256/384/512、RIPEMD-128/256、RIPEMD-160/320、漩涡
请注意,强度是指找到与已知哈希值匹配的任何密码的攻击(原像攻击)。另外,上面的排序是偏执的,立即丢弃任何哈希值any已知的漏洞。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)