用户注册时使用客户端或服务器端密码哈希(使用HTTP)

时间:2017-09-12 12:15:13

标签: http security hash https password-hash

我有一个可以同时使用HTTP和HTTPS的Web应用程序(取决于用户选择的内容)。当用户注册时,他们的密码应该在客户端进行哈希处理,然后传递给服务器,还是应该将纯文本传递给服务器然后进行哈希处理。

我相信如果使用HTTP,数据包嗅探工具可用于捕获密码,那么在客户端散列它会更好吗?

1 个答案:

答案 0 :(得分:0)

在客户端散列它会更好吗?

不,不要在客户端使用用户名/密码,但它没有任何意义。

如果Web应用程序使用HTTPS,则注册请求已经被封装,这意味着散列密码是多余的。

如果Web应用程序正在使用HTTP,那么在网络中嗅探的每个人都可以看到此Web应用程序的所有HTTP数据包,这意味着:

  1. 此Web应用程序的所有客户端文件都是公共的,包括哈希算法和密钥(如果有)。使用哈希算法和哈希密码,嗅探器可以轻松破解原始密码。
  2. 即使嗅探器未能获得哈希算法,或者未能破解原始密码,他/她也可以使用哈希密码来登录"登录"您的Web应用程序并执行他/她想要的任何操作。
  3. 总之,一旦Web应用程序使用HTTP,就没有什么是安全的。