但是问题是服务器是需要获取用户明文密码后再进行处理的,如果服务器被黑客控制(不管通过什么方式),修改了代码,将用户登录后的明文密码窃取了下来,那么用户的密码就不安全了。(不讨论如何加强服务器的安全措施)。
可不可以在浏览器端就对用户的密码进行哈希加密?服务器只对这个哈希密码进行再加盐哈希存储。
这里又有个问题,就是用户输入密码后,生成的哈希值必须相同,否则服务器就无法验证了(或者有没有一种密码哈希算法支持这种不同密码的验证?),但这就给彩虹表攻击提供了机会,当然用户的密码也可以先加盐再哈希,但如果黑客连这个盐值也获取了,重新制作彩虹表也是可以的。
我想问下有没有更好的方案防止用户密码泄露?