Md5.java 1.32 KB
Newer Older
yuquan.zhu committed
1 2 3 4 5 6
package cn.timer.api.utils;

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

邓实川 committed
7
//import org.apache.shiro.crypto.hash.SimpleHash;
yuquan.zhu committed
8 9 10 11 12 13 14 15 16 17 18

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

邓实川 committed
19 20 21 22
//	public static String md5password(String name, String password) {
//		Object tokenCredentials = new SimpleHash("md5", password, name, 56).toHex();
//		return (String) tokenCredentials;
//	}
yuquan.zhu committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

	// 写一个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) {

	}

}