在用戶注冊時將用戶的密碼加密后再保存至數據庫,提高了安全性,使用MD5加密算法將用戶密碼加密
1 package com.vincent.utils; 2 import java.security.MessageDigest; 3 4 /* 5 * 負責給字符串數據進行加密 6 */ 7 public class MD5Utils { 8 9 public static String str2MD5(String strs) { 10 /* 11 * 加密需要使用JDK中提供的類 12 */ 13 StringBuffer sb = new StringBuffer(); 14 try { 15 MessageDigest digest = MessageDigest.getInstance("MD5"); 16 byte[] bs = digest.digest(strs.getBytes()); 17 /* 18 * 加密后的數據是-128 到 127 之間的數字,這個數字也不安全。 19 * 取出每個數組的某些二進制位進行某些運算,得到一個新的加密結果 20 * 21 * 0000 0011 0000 0100 0010 0000 0110 0001 22 * &0000 0000 0000 0000 0000 0000 1111 1111 23 * --------------------------------------------- 24 * 0000 0000 0000 0000 0000 0000 0110 0001 25 * 26 * 把取出的數據轉成十六進制數 27 */ 28 for (byte b : bs) { 29 int x = b & 255; 30 String s = Integer.toHexString(x); 31 if (x < 16) { 32 sb.append("0"); 33 } 34 sb.append(s); 35 } 36 37 } catch (Exception e) { 38 System.out.println("加密失敗"); 39 } 40 return sb.toString(); 41 } 42 }