關於MD5加密算法的總結

MD5算法由於其本身的不可逆性,在行業內用的很普遍。一般爲了保證用戶的密碼安全,在service層會對用戶的密碼進行MD5算法加密,防止數據庫數據丟失造成用戶的損失。在此做一個簡單的小結。

1.MD5算法需要用到JDK中的MessageDigest類
這裏寫圖片描述
這裏寫圖片描述

2.對加密後的數據再次進行處理

import java.security.MessageDigest;

/*
 * 負責給字符串數據進行加密
 */
public class MD5Utils {

    public static String getPWD( String strs ){
/*
 * 加密需要使用JDK中提供的類
*/
StringBuffer sb = new StringBuffer();
try{
MessageDigest digest = MessageDigest.getInstance("MD5");
//該方法將字節數組進行加密,返回一個字節數組         
byte[] bs = digest.digest(strs.getBytes());

/*
 *   把取出的數據轉成十六進制數
*/

for (byte b : bs) {
    int x = b & 255;//取出數據的後8位
    String s = Integer.toHexString(x);
    //如果處理後的數據只有4位再加一位,保證處理後數據長度固定
    if( x > 0 && x < 16 ){
            sb.append("0");//不夠前一位補0
            sb.append(s);
        }else{
            sb.append(s);
            }
        }
    }catch( Exception e){
            System.out.println("加密失敗");
        }
        return sb.toString();
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章