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();
}
}