鉴于此示例取自http://php.net/manual/en/function.crypt.php
crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$')
首先:如果散列方法是 BLOWFISH,盐的长度是多少?
这是我为上述示例得到的输出:
$2a$07$usesomesillystringsaled/4C6/vYhuH1f.Z/Kwf8X.c.e0jjHay
是否有意将盐、轮次和我使用的散列方法存储在返回的字符串中?当我存储在此行为中散列的密码时,是否存储以 开头的整个字符串$2a
?
在对照数据库中的密码检查输入的密码时,如果没有任何东西将其与哈希的其余部分分开,我如何从字符串中检索盐?
编辑:为什么这种方法比使用 SHA512/256 更安全?如果有人对一堆带有盐的哈希使用字典攻击/蛮力方法,他们能更快地破解密码吗?