package cn.timer.api.utils;

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

//import org.apache.shiro.crypto.hash.SimpleHash;

/**
 * 
* @ClassName: Md5 
* @Description: TODO(Md5加密) 
* @author TZQ chess222_com 
* @date 2019年3月2日 下午12:34:50 
*
 */
public class Md5 {

//	public static String md5password(String name, String password) {
//		Object tokenCredentials = new SimpleHash("md5", password, name, 56).toHex();
//		return (String) tokenCredentials;
//	}

	// 写一个md5加密的方法
	public static String md5(String plainText) {
		// 定义一个字节数组
		byte[] secretBytes = null;
		try {
			// 生成一个MD5加密计算摘要
			MessageDigest md = MessageDigest.getInstance("MD5");
			// 对字符串进行加密
			md.update(plainText.getBytes());
			// 获得加密后的数据
			secretBytes = md.digest();
		} catch (NoSuchAlgorithmException e) {
			throw new RuntimeException("没有md5这个算法!");
		}
		// 将加密后的数据转换为16进制数字
		String md5code = new BigInteger(1, secretBytes).toString(16);// 16进制数字
		// 如果生成数字未满32位,需要前面补0
		for (int i = 0; i < 32 - md5code.length(); i++) {
			md5code = "0" + md5code;
		} 
		return md5code;
	}

	public static void main(String[] args) {

	}

}