我目前正在嘗試修改現有的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