【问题标题】:Can I publish salt of a password?我可以发布密码的盐吗?
【发布时间】:2015-03-09 22:02:37
【问题描述】:

我有一个 PHP 网站存储加密和加盐的用户密码。

使用的方法是crypt($password, $salt)。盐是随机生成的。

结果类似于

$2a$08$saltsaltsaltsaltsaltsaltsaHashHashHashHashHashHashHash

现在我必须使用与 PHP 不同的东西登录到这个数据库,例如。网。现在的问题:crypt() 在 .NET 中不存在。

我现在正在考虑在 .NET 中重写 crypt() 并从上面的密码哈希中提取盐。

公开用于散列密码的盐是否安全?还是我极度削弱了安全性?

【问题讨论】:

  • 这里的“公开”是什么意思并不清楚——你总是需要知道盐才能检查密码,因为你用相同的盐加密用户输入的密码并检查结果与原始结果相同。
  • 公开表示,例如将盐发送给任何要求它的人。然后,用户可以在本地计算机上重新创建自己的密码哈希。

标签: php .net hash crypt


【解决方案1】:

是的,将盐发送给任何要求它的人是不安全的。知道它可以使猜测的可能值的数量少得多,并且使用蛮力攻击来猜测原始的无盐密码要容易得多。详情请见this answer in security.stackexchange.com

【讨论】:

    猜你喜欢
    • 2013-03-24
    • 1970-01-01
    • 1970-01-01
    • 2018-03-21
    • 2016-10-22
    • 2015-01-14
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    相关资源
    最近更新 更多