使用java自带加密算法实现文本的md5加密算法

本文档介绍如何使用Java内置的MessageDigest类实现MD5加密。通过示例代码详细展示了对文本进行MD5加密的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明出处:http://blog.youkuaiyun.com/xiaojimanman/article/details/21456943

       本篇使用java自带的MessageDigest实现对文本的md5加密算法,具体代码如下:

 /**  
 *@Description: 将字符串转化为MD5
 */ 
package cn.yicha.novel.util;  

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
  
public class ParseMD5 {

	/**
	 * @param str
	 * @return
	 * @Date: 2013-9-6  
	 * @Author: lulei  
	 * @Description:  32位小写MD5
	 */
	public static String parseStrToMd5L32(String str){
		String reStr = null;
		try {
			MessageDigest md5 = MessageDigest.getInstance("MD5");
			byte[] bytes = md5.digest(str.getBytes());
			StringBuffer stringBuffer = new StringBuffer();
			for (byte b : bytes){
				int bt = b&0xff;
				if (bt < 16){
					stringBuffer.append(0);
				} 
				stringBuffer.append(Integer.toHexString(bt));
			}
			reStr = stringBuffer.toString();
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		return reStr;
	}
	
	/**
	 * @param str
	 * @return
	 * @Date: 2013-9-6  
	 * @Author: lulei  
	 * @Description: 32位大写MD5
	 */
	public static String parseStrToMd5U32(String str){
		String reStr = parseStrToMd5L32(str);
		if (reStr != null){
			reStr = reStr.toUpperCase();
		}
		return reStr;
	}
	
	/**
	 * @param str
	 * @return
	 * @Date: 2013-9-6  
	 * @Author: lulei  
	 * @Description: 16位小写MD5
	 */
	public static String parseStrToMd5U16(String str){
		String reStr = parseStrToMd5L32(str);
		if (reStr != null){
			reStr = reStr.toUpperCase().substring(8, 24);
		}
		return reStr;
	}
	
	/**
	 * @param str
	 * @return
	 * @Date: 2013-9-6  
	 * @Author: lulei  
	 * @Description: 16位大写MD5
	 */
	public static String parseStrToMd5L16(String str){
		String reStr = parseStrToMd5L32(str);
		if (reStr != null){
			reStr = reStr.substring(8, 24);
		}
		return reStr;
	}
}


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值