我一直在研究处理用户登录密码的选项,我对如何使用 CRYPT_BLOWFISH 有一些疑问。我阅读了有关如何实现它的信息,但我想在开始使用它之前更好地理解它。
所以我打算做这样的事情:
function genBlowfishSalt()
{
//return random string for Salt
}
$hash = crypt($password, '$2a$12$'. genBlowFishSalt());
我的问题如下:
1) '$2a$12$' 是什么?
2)我知道在这种情况下我必须为每个用户存储盐,我想在没有自己的哈希的情况下存储它是可以接受的吗?盐是否会附加到散列值?
3) 登录后,我将如何比较散列值?
4)我还读到有一个需要为每个用户存储多次迭代的概念,这对密码的散列有什么影响?
谢谢!