在GWT中未加密的服务器发送密码有多安全?

时间:2012-11-20 20:12:36

标签: java gwt

在GWT应用程序中,我正在构建一个登录系统。

我在服务器端实现了BCrypt。我的User类仅在服务器端,以保护数据。我做了以下假设,如果它们是正确的,就无法解决:

  • 由于客户端java被转换为javascript,我不应该将密码的内容保存在客户端变量中,因为它是可读的。
  • 出于同样的原因,我应该把它发送到已经散列的服务器上。
  • 我不应该将我的User类放在共享中,因为我不希望它的属性可以从源代码中读取/派生。

我见过很多例子,但没有人在将密码发送到服务器之前加密密码。这样安全吗?

2 个答案:

答案 0 :(得分:1)

只要您使用HTTPS等安全通道,就可以安全地将未加密的密码发送到服务器。

出于性能原因,您还可以将相同的用户对象(不存储密码)保留在内存中,只需确保始终在服务器端验证它。永远不要相信客户提供给您的用户信息。

答案 1 :(得分:1)

在将密码发送到服务器之前散列密码证明什么都没有。 (除了可能保护用户表单在使用相同密码的其他系统上受到损害之外。)

如果攻击者拥有您从客户端发送到服务器的任何内容,无论是明文还是散列或量子脑波,他们都拥有访问系统所需的内容。

敏感信息需要通过加密套接字发送,然后您自己编码的方式无关紧要。