Mar*_*rks 6 database security passwords hash
我正在网络应用程序中搜索最安全(但却可行)的密码管理方式.
现在,我将密码保存为哈希.的DB帐户该应用的被限制的存储过程和excecution我通过给出用户名和哈希密码到返回1(真)或0(假)存储过程验证用户.
因此,即使您拥有该应用的数据库帐户,也无法从服务器获取密码.多数民众赞成我喜欢这个解决方案.但是要使用它,客户端必须通过Web提交密码,或者至少是可以捕获的静态哈希.
所以我开始想到使用这样的握手:
使用此握手可以检查密码而无需发送自身或静态哈希.只是一个动态盐渍哈希,每次用户登录时都不同=>高度安全.
但是对于这次握手,我需要密码或者至少需要来自数据库的哈希密码.但这使得某人至少可以获得哈希密码并在应用程序外部强制使用它.
你更喜欢什么?将密码保存在数据库中并在那里制作任何东西(安全服务器),或者将其从数据库中取出并在外部进行(安全传输)?
马克斯,提前谢谢你
您提出的解决方案并不能真正解决问题。尽管如此,服务器必须知道密码,因此必须在某个时刻以明文形式传输密码,这是您首先要避免的。这样你只能避免每次都再次发送密码,但是如果有人在第一次传输密码时就发现了怎么办?
我认为你不应该重新发明轮子:-) 对所有连接使用 SSL,然后你的第一个解决方案就可以正常工作。您甚至可以在客户端执行散列,因此只有散列通过安全通道发送。您的服务器永远不会知道密码,也不必知道。