天天看點

md5加密使用者登陸遇到的問題及解決辦法

有個項目的登陸子產品使用到了cas,應需求要求,使用者名和密碼傳輸時使用了md5加密模式,加密的密碼可以直接儲存在資料庫,但是加密的使用者名則必須解密出來才行,于是背景的java代碼中便寫了針對使用者名的解密代碼。

而前台,是在輸完使用者名和密碼後,點選登陸按鈕的時候調用相應的方法進行加密并發請求傳輸。

但是測試過程中卻發現了一個問題,就是在有的時候輸完使用者名、密碼和驗證碼以後回車,背景會報如下的數組下标越界的異常:

debug之後發現了問題所在:

正常情況下,登陸時前台傳遞的使用者名和密碼應該是md5加密後的資料,但是在上面那種情況下傳遞的卻并沒有加密,在input中輸入了什麼,傳遞的依然還是什麼。

這也就是說,回車之後根本就沒有走md5加密資料的方法,是以,不是md5加密的,卻用了md5加密的方式解密,程式便出現如上的異常。

最終的解決辦法是在登陸界面的那些input中加上如下屬性:

也就是禁用了input上的enter鍵,在input上回車就不會再發請求到背景,也就不會再出現上述的問題。