java MD5加密

package com.jk.utils;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * 
 * Copyright © 2017 金科教育. All rights reserved. <br>
 * 类: Md5Util <br>
 * 描述: MD5加密 <br>
 * 作者: Teacher song<br>
 * 时间: 2017年6月27日 下午2:27:06
 */
public class Md5Util {
	
	/**
	 * 
	 * 方法: getMd532 <br>
	 * 描述: 32位md5加密 <br>
	 * 作者: Teacher song<br>
	 * 时间: 2017年6月27日 下午2:27:38
	 * @param plainText
	 * @return
	 */
	public static String getMd532(String plainText) {  
	    try {  
	        MessageDigest md = MessageDigest.getInstance("MD5");  
	        md.update(plainText.getBytes());  
	        byte b[] = md.digest();  
	        int i;
	        StringBuffer buf = new StringBuffer("");  
	        for (int offset = 0; offset < b.length; offset++) {  
	            i = b[offset];  
	            if (i < 0)  
	                i += 256;  
	            if (i < 16)  
	                buf.append("0");  
	            buf.append(Integer.toHexString(i));  
	        }  
	        //32位加密  
	        return buf.toString();  
	        // 16位的加密  
	        //return buf.toString().substring(8, 24);  
	    } catch (NoSuchAlgorithmException e) {  
	        e.printStackTrace();  
	        return null;  
	    }  
	}  
	/**
	 * 
	 * 方法: getMd516 <br>
	 * 描述: 16位MD5加密 <br>
	 * 作者: Teacher song<br>
	 * 时间: 2017年6月27日 下午2:27:52
	 * @param plainText
	 * @return
	 */
	public static String getMd516(String plainText) {  
	    try {  
	        MessageDigest md = MessageDigest.getInstance("MD5");  
	        md.update(plainText.getBytes());  
	        byte b[] = md.digest();  
	        int i;  
	        StringBuffer buf = new StringBuffer("");  
	        for (int offset = 0; offset < b.length; offset++) {  
	            i = b[offset];  
	            if (i < 0)  
	                i += 256;  
	            if (i < 16)  
	                buf.append("0");  
	            buf.append(Integer.toHexString(i));  
	        }  
	        //32位加密  
	       // return buf.toString();  
	        // 16位的加密  
	        return buf.toString().substring(8, 24);  
	    } catch (NoSuchAlgorithmException e) {  
	        e.printStackTrace();  
	        return null;  
	    }  
	}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java中,可以使用MD5加密算法对数据进行加密。引用是一个示例代码,展示了如何使用MD5加密算法对输入的用户名和密码进行加密。代码中使用了一个Md5类,它包含了一个md5方法,用于对输入数据进行MD5加密。引用展示了Md5类的具体实现。 要使用MD5加密对密码进行加密,可以调用Md5类的md5方法,并传入要加密的字符串作为参数。该方法将返回加密后的字符串。 在加密时,可以使用“加盐”的方式增加密码的安全性。这意味着将用户的用户名作为额外的参数传入md5方法,与密码一起进行加密。这样即使两个用户使用相同的密码,最终的加密结果也会不同。 需要注意的是,MD5加密是不可逆的,即无法从加密后的密码还原出原始密码。因此,一般在登录时,会将用户输入的密码进行加密后,与数据库中存储的加密后的密码进行比对来验证登录信息。引用展示了一个示例,其中将用户输入的密码进行MD5加密后,再与数据库中存储的密码进行比对。 综上所述,要在Java中进行MD5加密,可以使用Md5类的md5方法,将要加密的字符串作为参数传入。为了增加密码的安全性,可以使用“加盐”的方式,将用户的用户名作为额外的参数传入md5方法进行加密。在登录时,将用户输入的密码进行MD5加密后,与数据库中存储的加密后的密码进行比对来验证登录信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Java md5加密](https://blog.csdn.net/weixin_65637841/article/details/124889207)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值