关于盐渍密码的问题

1 php mysql hash salt

好的.比方说,我将密码的盐设置为"你好".有人不能只看源代码并发现盐吗?如果是这样,我该如何隐藏它?谢谢.

Mar*_*ers 7

通常以密码哈希的形式存储在纯文本中.它们存在的主要原因是使用预先计算的彩虹表更加困难,并且更难以对数据库中的所有密码执行字典攻击.

您还应该为每个密码使用不同的随机生成的盐,而不是整个应用程序使用单个盐.这意味着必须单独破解每个密码.

  • @Mchl:Salts*应该*每个用户都是唯一的.盐的全部意义在于攻击者需要单独攻击每个哈希,而不是计算一批彩虹表并在整个用户数据库上运行它.使用站点范围的盐可能甚至比不使用盐更糟糕*因为那时你认为你有一些安全性,而实际上你没有. (2认同)

Ano*_*on. 5

首先:安全很难.不要试着自己动手,因为你搞砸它.使用完善的库来处理用户身份验证.

其次,你似乎误解了盐的目的.盐只是为了防止密码哈希的轻松反转 - 每个用户应该有一个独特的盐,但是将盐存储在与哈希密码相同的位置是很好的.