我已经读过,存储数据库中的passowrds的一种方法是通过以下方式。拥有一个包含用户名,散列和盐的数据库表。盐永远不会显示。如何安全地在数据库中存储密码?
我生成密码+盐的散列。密码由用户发送,不存储在数据库中。如果生成的哈希与存储在数据库中的哈希相同,则密码是正确的。
但我有我的疑惑。如果我发送密码,在通过电报传输时可能会被嗅探,所以我认为对通信进行加密也是必要的。所以使用哈希和盐只是为了保护管理员的数据?我的意思是,如果我将密码存储在数据库中,管理员可以轻松访问所有信息。如果我存储散列,管理员不能访问用户的信息,因为管理员没有一半的信息,只有盐而不是密码。但是,当用户需要发送密码时,这可能会被某人嗅探,因此密码被暴露。
保护用户信息的最佳方式是什么?
谢谢。
http://www.troyhunt.com/2011/12/free-ebook-owasp-top-10-for-net.html –