/* * 功能: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; } } }