在我的程序中,我将密码放入一个变量(例如:string)中,然后在将其存储到数据库之前,我散列it.Is,这是正确且安全的方法吗?
或者,我应该在将其存储到变量之前对其进行散列,即用户一输入密码,就应该对其进行散列吗?
发布于 2017-08-03 05:32:23
@Erina思考散列的目的。
如果有人闯入你的数据库,他们将找不到密码,只会找到哈希值,而哈希值需要被暴力破解成密码才能有用。
通过允许客户端发送散列而不是密码,您可以有效地使散列成为新的密码,并且所有的好处都会丢失。例如,如果有人进入数据库,他们可以立即登录到他们在那里找到的数据的所有帐户。
因此,客户端应始终发送密码,而服务器应执行散列。
https://stackoverflow.com/questions/45475533
复制相似问题