我执行我的GWT应用程序的授权,并在它下面的方式进行的那一刻:GWT/JavaScript客户端密码加密
- 用户注册时,把他的证件的形式,和我将它们以明文形式发送给服务器。
- 服务器代码使用BCrypt散列接收到的密码并将散列放入数据库中。
- 当用户登录时,他的密码以明文方式发送到服务器,该服务器会根据存储的散列进行检查。
现在。关于这一点困扰我的事情是,我将密码以明文方式发送到服务器,我一直认为,如果我使用的应用程序使用我的(use-for-所有类型的)密码,但是在客户端加密它并不能真正为我赢得任何东西,因为攻击者可以像使用密码那样使用散列密码。
我一直在为这一整天googling,看来互联网是非常一致的,当谈到这一点 - 显然没有什么可以从客户端密码加密获得。 This,this和this仅仅是我所讨论过的讨论和网页的几个例子,但还有很多很多更多,都说同样的事情。
这个问题,在这所有的光,似乎有点多余,但我希望在某个地方,某个人,将有另一个答案对我来说。
我能做些什么,如果SSL不是一个选项,在这一点上,以减轻我的主意呢?有什么要做,或者将实施某种客户端加密 - 服务器 - 解密方案只是耗时的虚弱的死马踢?
感谢您的广泛答案,在那里有很多有用的链接。我很感激! – 2010-08-26 08:49:18
顺便说一句:有CORS - 跨域请求...所以你应该真的能够使用唯一的登录SSL服务器解决方案。不幸的是,我不知道关于GWT请求构建器和Internet Explorer的一些不兼容性是否已经解决(意味着所有浏览器现在在使用“本机”GWT时不支持请求构建器的情况下支持它)。 – user1050755 2014-02-22 01:20:40