如何为每个用户制作绝对原创的食盐?在PHP中使用time()函数更好吗?
发布于 2012-06-22 20:33:27
在许多情况下,一个简单的uniqid(mt_rand(), true)就可以生成一个随机的盐。结合Blowfish应该会给你一个很好的密码散列。
替代方案是伪随机源,如/dev/urandom或openssl_pseudo_random_bytes()。还有一些服务可以为您生成随机数据(基于无线电活动降级)。
发布于 2012-06-22 20:28:24
使用此行在php中生成强盐
$salt = bin2hex(mcrypt_create_iv(32, MCRYPT_DEV_URANDOM));发布于 2012-06-22 20:27:46
考虑使用随机盐而不是非随机盐。也许您会在本文http://www.gregboggs.com/php-blowfish-random-salted-passwords/中找到一些有用的东西
也可以看看这篇文章http://codahale.com/how-to-safely-store-a-password/
一种方法是为每个用户生成唯一的盐,并将该盐也存储在DB中。
另一个很好的方法是算法,它生成你的密码哈希必须计算超过第二个的盐。你的散列算法越复杂--想要黑进你的数据库的人就会面临越多的问题
https://stackoverflow.com/questions/11156106
复制相似问题