Java实现md5算法

今天想用java算出一个字符串的md5值,发现并没有像php那样有直接的函数可以调用,需要手动实现,感觉蛮麻烦的

 

直接上代码

 

方法md5,传入要加密的字符串,返回加密后的字串

 

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Main {

	public static String md5(String str){
		if(str == null || str.length() == 0){
			return null;
		}else{
			MessageDigest MD5 = null;
			try{
				MD5 = MessageDigest.getInstance("md5");  //获取md5加密方法实例
			}catch(NoSuchAlgorithmException e){
				e.printStackTrace();
				return null;
			}

			/*将byte类型转换为string类型,方便操作*/
			byte[] t = MD5.digest(str.getBytes());
			StringBuilder res = new StringBuilder();
			for(byte tt : t){
				String hex = Integer.toHexString(tt & 0xff);
				if(hex.length() == 1){
					hex = "0" + hex;
				}
				res.append(hex);
			}
			return res.toString();
		}
	}
	public static void main(String[] args) {
		System.out.println(md5("123"));
	}

}

你可能感兴趣的:(java实现)