Security 为什么与用户';谁的密码摘要?

Security 为什么与用户';谁的密码摘要?,security,hash,passwords,salt,Security,Hash,Passwords,Salt,考虑到大问题,我一直在考虑密码安全问题。我在过去使用过的web开发框架通常将主应用程序级salt存储为应用程序常量,然后使用该值对所有用户密码进行salt(每个应用程序随机生成)。e、 g.在伪代码中:password=hash(App::salt+userPassword) 我读过很多建议,建议为每个用户生成一个随机salt,然后将其与每个用户的密码一起存储在数据库中。我的问题是,这如何提高安全性?如果攻击者从数据库中获取密码摘要列表,那么他们很可能也能够获取salt,对吗?或者有一些不知道的

考虑到大问题,我一直在考虑密码安全问题。我在过去使用过的web开发框架通常将主应用程序级salt存储为应用程序常量,然后使用该值对所有用户密码进行salt(每个应用程序随机生成)。e、 g.在伪代码中:
password=hash(App::salt+userPassword)


我读过很多建议,建议为每个用户生成一个随机salt,然后将其与每个用户的密码一起存储在数据库中。我的问题是,这如何提高安全性?如果攻击者从数据库中获取密码摘要列表,那么他们很可能也能够获取salt,对吗?或者有一些不知道的攻击向量会在没有访问其他表的情况下得到密码摘要?< /P> < P>为每个用户存储随机盐,以防攻击。
在“主盐”的情况下,仍然可以预计算这样的表并在攻击中使用它。对于每个用户的salt,这变得不切实际。

那么,拥有应用程序范围的salt和随机salt有什么价值呢?这将需要访问文件系统上的应用程序配置,并使摘要更难从字典/常用密码加上存储的salt中确定。@rybosome我看到的唯一问题是,如果不使所有当前用户无效,您将来无法更改它。