码迷,mamicode.com
首页 > 其他好文 > 详细

MD5加密及BASE64编码

时间:2015-05-29 13:57:27      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:md5   base64   

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,它其实是一个码表,每个数字对应一个可见字符


技术分享


MD5加密及BASE64编码

标签:md5   base64   

原文地址:http://blog.csdn.net/wodewutai17quiet/article/details/46233165

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!