我目前正在尝试修改现有的GWT-Ext应用程序,即在MySql数据库中使用纯文本密码。在GWT/GWT-Ext中密码字符串的md5散列?
我的计划是使用md5哈希函数,因为现有的密码可以很容易地通过MySql函数进行修改,而且我期待为GWT-Ext端找到一个简单的解决方案。但正如我发现的那样,GWT不支持java.security,并且似乎没有任何其他实现可用于将密码字符串更改为客户端上的md5散列。
只有“解决方案”我发现至今,是重新实现通过JSNI一个MD5方法如下所述: http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/ad09475a9944c9f8
没有为EXT-JS的现有用户扩展,但我无法找到任何GWT-Ext: http://extjs.com/forum/showthread.php?p=133516
有没有人知道更优雅/简单的方法来解决这个问题?也许我应该使用别的东西而不是md5来确保密码被加密?
干杯 弗兰克
如果他在客户端执行类似cram-md5的事情,客户端计算hmac(md5哈希加上一个随机数salt)并将其发送到服务器,那么这不是一个错误的方案。缺点是服务器需要明文密码才能检查hmac。 – 2009-08-06 18:59:02
关于彩虹攻击的好处,以前不知道。我也通过在服务器端进行加密来解决这个问题,但是我的想法是,在将密码发送到服务器之前,我想加密密码,因为我们目前只使用http而没有https。 – FrankS 2009-08-06 21:27:57
GWT是客户端和服务器端。除此之外,这个职位是很好的建议。不要在客户端散列它。看看http://www.owasp.org/index.php/Hashing_Java。 – 2009-09-01 12:33:05