我可以暴露哈希盐+密码吗?

eli*_*iot 5 security passwords hash public salt

我在salt +密码上使用SHA-512哈希1000次.在查询有关用户的信息时是否可以安全返回,或者我应该保护它并使其仅通过HTTPS可用?

例如,如果我发出以下请求:

GET: http://domain.com/users?id=437
Run Code Online (Sandbox Code Playgroud)

它返回:

{"firstName":"Eliot","lastName":"My last name","email":"email@emailplace.com","password":[91,49,-34,77,79,-48,67,-62,-12,84,84,-18,-81,23,-92,-31,74,-28,-80,102,60,35,-102,115,18,-76,20,-90,-8,91,13,23],"authToken":"33c977b1-5ab6-4a8a-8da9-68c8028eff92","id":179}
Run Code Online (Sandbox Code Playgroud)

这是公开的吗?

nne*_*neo 10

为什么你会永远在响应返回用户的密码,任何面向公众的质疑呢?返回密码的形式并不重要 - 这从根本上说是不安全的!

密码可以破解.给定哈希以及如何构造哈希的知识,您可以强制执行相关参数.尽管它需要花费1000倍的时间,并且盐可能必须被强制执行(如果不包括在查询响应中),仍然存在这种可能性(并且有足够耐心,有合适资源的人,如果值很高,可能会这样做足够).不要冒风险 - 只是不要以任何形式披露密码.