MD5Utils

用于对字符串进行摘要加密;一般加密之后是不可逆的;

摘要是采用任意大小的数据并输出固定长度散列值的安全单向散列函数。

所在的包为:java.security.MessageDigest;

其中需要用到两个重要方法:

1.getInstance();

  • 返回实现指定摘要算法的MessageDigest对象。

2.digest();

  • 通过执行最后的操作来完成哈希计算。

放上代码:

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

public class MD5Utils {
	//txt为要加密的字符串
	public static String MD5UtilsTest(String txt) throws Exception {
			//初始化一个空的字节数组
			byte[] md = null;
		try{
			//获取MessageDigest对象,对字符串转化为的字节数组进行哈希计算
				md = MessageDigest.getInstance("MD5").digest(txt.getBytes());
			}catch (Exception e) {
				//抛出运行时异常
				throw new RuntimeException("md5加密异常!");
			}
			//转化为16进制
			String md5Code = new BigInteger(1, md).toString(16);
			//如果加密后的字节不满32位就在前面补“0”
			for(int i = 0; i < 32 - md5Code.length(); i++) {
				md5Code = "0" + md5Code;
			} 
			return md5Code;
	}
	
	public static void main(String[] args) throws Exception {
		System.out.println(MD5UtilsTest("123"));
	}
}

测试结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值