【问题标题】:What is better? Password_hash vs. SHA256 vs. SHA1 vs. md5什么是更好的? Password_hash vs. SHA256 vs. SHA1 vs. md5
【发布时间】:2015-05-22 17:40:39
【问题描述】:

salt 有什么更好的密码存储方式?

MD5:

$hash = md5($password . $salt);

密码哈希:

$hash = password_hash($password, PASSWORD_DEFAULT, $salt);

SHA1:

$result = sha1($salt.$string);

【问题讨论】:

  • 我投票结束这个问题,因为它是关于分析安全属性并且没有编程问题。
  • 你是对的。这确实涉及安全性。据我所知,这里没有编程。

标签: md5 store sha1 sha256 password-hash


【解决方案1】:

当您存储大量密码时,Salt 非常有用,否则它们就相当无用,因为它们以明文形式存储。如果攻击者设法获得了您的散列密码,那么假设他们可以得到您的盐。 使用 SHA-256,因为它是一个强大的加密哈希函数,并使用盐。但最重要的是,只需使用强密码和强哈希算法即可。

【讨论】:

    【解决方案2】:

    你绝对应该使用 password_hash() 函数而不提供你自己的盐:

    $hash = password_hash($password, PASSWORD_DEFAULT);
    

    该函数将自行生成一个安全的盐。其他算法的哈希密码速度太快,因此很容易被暴力破解(大约每秒8 Giga MD5)。

    【讨论】:

    • 当您需要进行身份验证并且您不知道已生成的盐时怎么办?我要求学习。不改正。
    • 没关系....使用password_verify()函数。将我的 cmets 留给有相同问题的未来用户。
    猜你喜欢
    • 2011-01-15
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    相关资源
    最近更新 更多