我读到一种在数据库中存储密码的方法是:创建一个包含用户名、哈希值和盐的表格,其中盐永远不会被显示出来。
我将密码与盐相加生成哈希值。密码由用户输入,不会存储在数据库中。如果生成的哈希值与数据库中的相同,则密码正确。
但我有疑虑。如果发送密码时,它可能会在传输过程中被窃听,因此我认为也有必要加密通信。那么使用哈希和盐只是为了保护数据免受管理员的影响?我的意思是,如果我将密码存储在数据库中,管理员可以轻松访问所有信息。如果我存储了哈希值,管理员就无法访问用户的信息,因为管理员没有完整的信息,只有盐而没有密码。然而,在用户需要发送密码时,密码可能会被某人窃取,因此密码会暴露。
如何最好地保护用户信息?
谢谢。
我将密码与盐相加生成哈希值。密码由用户输入,不会存储在数据库中。如果生成的哈希值与数据库中的相同,则密码正确。
但我有疑虑。如果发送密码时,它可能会在传输过程中被窃听,因此我认为也有必要加密通信。那么使用哈希和盐只是为了保护数据免受管理员的影响?我的意思是,如果我将密码存储在数据库中,管理员可以轻松访问所有信息。如果我存储了哈希值,管理员就无法访问用户的信息,因为管理员没有完整的信息,只有盐而没有密码。然而,在用户需要发送密码时,密码可能会被某人窃取,因此密码会暴露。
如何最好地保护用户信息?
谢谢。