生成32位MD5加密

2019-07-31 18:38:23 浏览数 (1)

代码语言:javascript复制
/*
 * 功能: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;			
		}
		
	}
}

0 人点赞