MD5加密簡單實現方法
工具/原料
-
myeclipse
方法/步驟
-
建立MD5加密類,編寫加密方法
1、
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;
public class MD5 {
public static String getPwd(String pwd) {
try {
// 建立加密物件
MessageDigest digest = MessageDigest.getInstance("md5");
// 呼叫加密物件的方法,加密的動作已經完成
byte[] bs = digest.digest(pwd.getBytes());
-
2、銜接(1)
// 接下來,我們要對加密後的結果,進行優化,按照Oracle的優化思路走
// Oracle的優化思路:
// 第一步,將資料全部轉換成正數:
String hexString = "";
for (byte b : bs) {
// 第一步,將資料全部轉換成正數:
int temp = b & 255;
// 第二步,將所有的資料轉換成16進位制的形式
// 注意:轉換的時候注意if正數>=0&&<16,那麼如果使用Integer.toHexString(),可能會造成缺少位數
// 因此,需要對temp進行判斷
if (temp >= 0&&temp < 16 ) {
// 符合條件,手動補上一個“0”
hexString = hexString + "0" + Integer.toHexString(temp);
} else {
hexString = hexString + Integer.toHexString(temp);
}
}
return hexString;
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "失敗";
}
-
3、建立測試類、測試方法
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("請輸入密碼:");
String pwd = MD5.getPwd(input.next());
System.out.println("MD5值:");
System.out.println(pwd);
}