相关疑难解决方法(0)

许多哈希迭代:每次都附加盐?

我已经长时间使用了无盐的md5/sha1,但由于这种方法不太安全(并且随着时间的推移变得越来越不安全)我决定切换到盐渍的sha512.此外,我想通过使用许多迭代(例如100)来减慢散列的生成.

我的问题是我是应该在每次迭代时添加盐还是在开始时只添加一次.以下是两个可能的代码:

每次追加:

// some nice big salt
$salt = hash($algorithm, $salt);

// apply $algorithm $runs times for slowdown
while ($runs--) {
    $string = hash($algorithm, $string . $salt, $raw);
}

return $string;
Run Code Online (Sandbox Code Playgroud)

追加一次:

// add some nice big salt
$string .= hash($algorithm, $salt);

// apply $algorithm $runs times for slowdown
while ($runs--) {
    $string = hash($algorithm, $string, $raw);
}

return $string;
Run Code Online (Sandbox Code Playgroud)

我首先想要使用第二个版本(追加一次)但后来发现每次添加盐的一些脚本.

所以,我想知道每次添加它是否会增加哈希的强度.例如,攻击者是否有可能找到一种聪明的方法来创建一个100XSha512函数,这比简单地执行sha512 100倍?

php security passwords cryptography

36
推荐指数
2
解决办法
5942
查看次数

在MySQL中存储哈希密码

我正在使用PHP中的salted sha1创建散列密码.

我的问题是:在MySQL中,什么是正确的字符编码,字段类型和长度来存储结果?

MySQL中还有其他什么可以考虑密码安全吗?最后是SHA256还是SHA512实用的散列选择?

mysql passwords hash

9
推荐指数
2
解决办法
7644
查看次数

标签 统计

passwords ×2

cryptography ×1

hash ×1

mysql ×1

php ×1

security ×1