MD5加密及BASE64编码

本文详细介绍了使用Java实现MD5加密算法的方法,包括使用Apache Commons Codec库和Java自带的MessageDigest类。同时,文章还解释了Base64编码的原理及其在HTTP环境下的应用。
摘要由CSDN通过智能技术生成
MD5即Message-Digest Algorithm 5(信息-摘要算法5):

方法一:

	添加jar包:${SPRING_HOME}/lib/jakarta-commons/commons-codec.jar

	import org.apache.commons.codec.digest.DigestUtils;

	public class MD5Util {
		// 返回md5加密后的字符串
		public static String md5(String message) {
			String md5Digest = DigestUtils.md5Hex(message);
			return md5Digest;
		}
	}

方法二:
	// JDK自带的
	import java.security.MessageDigest;
	// 也是JDK自带的,可以在OpenJDK中查看其源码
	import sun.misc.BASE64Encoder;
	 
	public class MD5Util {
		// 返回md5加密后的字符串
		public static String md5(String message) {
			try {
				MessageDigest md = MessageDigest.getInstance("MD5");
				byte[] md5Bytes = md.digest();
				// 采用Base64编码把字节序列转换为明文
				BASE64Encoder base64Encoder = new BASE64Encoder();
				return base64Encoder.encode(md5Bytes);
			} catch (Exception e) {
				throw new RuntimeException(e);
			}
		}
	}

	
	补充:Base64编码
	
	编码原理:将3个字节转换成4个字节((3X8)=24=(4X6))
		先读入3个字节,每读一个字节,左移8位,再右移四次,每次6位,这样就有4个字节了。 
	解码原理: 将4个字节转换成3个字节
		先读入4个6位(用或运算),每次左移6位,再右移3次,每次8位,这样就还原了。

	说明:
		1,Base64编码可用于在HTTP环境下传递较长的标识信息
		2,Base64编码后的标识信息长度为24
		3,	3个字节转成4个字节后,每一个字节表示的最小和最大数分别是:00000000 ~ 00111111
			0~63共64个整数,所以称之为Base64,它其实是一个码表,每个数字对应一个可见字符



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值