/* * 功能:32位MD5算法 用來進行加密 * */ package com.shi.Tools; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5_Demo { public static void main(String[] args) { System.out.println(MD5("施爺")); System.out.println(MD5("abc")); } public final static String MD5(String s){ char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; try { //把字符串轉換成字節碼的形式 byte[] strTemp=s.getBytes(); //申明mdTemp爲MD5加密的形式 MessageDigest mdTemp=MessageDigest.getInstance("MD5"); //進行字節加密並行進加密 轉化成16位字節碼的形式 mdTemp.update(strTemp); byte[] md=mdTemp.digest(); //j=32 int j=md.length; char str[]=new char[j*2]; int k=0; //對字符串進行從新編碼成32位的形式 for(int i=0;i<j;i++){ byte byte0=md[i]; str[k++]=hexDigits[byte0>>>4 & 0xf]; str[k++]=hexDigits[byte0 & 0xf]; } return new String(str); } catch (NoSuchAlgorithmException e) { return null; } } }