轉載 MD5頁面加密

原文地址:https://blog.csdn.net/hcwbr123/article/details/70885388

分享轉載

現象:

在登錄頁面有時候需要將用戶輸入的密碼經過加密之後再傳入後臺.
  • 1
  • 2

解決辦法:

1:首先在頁面引入md5的js,在前臺框架amazeui中就攜帶!先下載amazeui,解壓將目錄複製到項目的WebRoot下。
  • 1
  • 2

這裏寫圖片描述

2:在jsp頁面引入amazeui的MD5js![這裏寫圖片描述]
  • 1
  • 2

這裏寫圖片描述

3:頁面設置錶帶的提交按鈕爲點擊事件
  • 1
  • 2

這裏寫圖片描述

4:在點擊事件中將密碼加密然後將密碼框的密碼變爲加密之後的密碼。最後在提交。這就有時候輸入完密碼之後密碼框的字符會變得很長的原因!
 注:判斷一下如果此時密碼的長度爲32位說明密碼就是經過加密可以直接提交。
  • 1
  • 2
  • 3

這裏寫圖片描述

5:在後臺接收到密碼字符串之後就可以進行比較了,如果數據庫存的本來就是經過MD5加密的字符串。那就直接拿出來比較。如果數據庫存的依舊是原始密碼,取出來也經過MD5然後在比較;如下取出密碼和用戶名進行MD5加密算法之後和頁面的值比較
  • 1
  • 2

這裏寫圖片描述

6:MD5加密算法的類:
  • 1
  • 2

這裏寫圖片描述

這樣就完成了頁面輸入密碼經過加密之後才傳入後臺。這裏使用的是用戶名+密碼的加密字符!

代碼:

public static String makeMD5(String plainText) {  
          try {  
              MessageDigest md = MessageDigest.getInstance("MD5");  
              md.update(plainText.getBytes());  
             byte b[] = md.digest();  
             int i;  
             StringBuffer buf = new StringBuffer("");  
             for (int offset = 0; offset < b.length; offset++) {  
                 i = b[offset];  
                 if (i < 0)  
                     i += 256;  
                 if (i < 16)  
                     buf.append("0");  
                 buf.append(Integer.toHexString(i));  
             }  
             //32位加密  
             return buf.toString();  
             // 16位的加密  
             //return buf.toString().substring(8, 24);  
         } catch (NoSuchAlgorithmException e) {  
             e.printStackTrace();  
             return null;  
         }  
     }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章