Java使用MD5加密

直接上代码,对于MD5的其它信息,可以去参考下其它的博客。
很多的博客代码基本都相同,但是没有引入 pom 的部分,所以这里把 pom 也写上了。
这篇博客是在项目结束后把项目中使用的一些知识点整理后写的。直接复制使用即可

引入pom依赖

<!--  MD5加密  -->
<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-lang3</artifactId>
	<version>3.3.2</version>
</dependency>
<dependency>
	<groupId>commons-codec</groupId>
	<artifactId>commons-codec</artifactId>
</dependency>

主要的代码

import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author: 生花脱颖
 * @date: 2020/3/27 19:14
 * @version: V2.0
 */
@RestController
public class MdUtils {
    /**
     * @param text 明文
     * @param slat 盐
     * @return 加密后的 text
     */
    
    // 带秘钥加密
    public static String md5(String text, String slat) throws Exception {
        // 加密后的字符串
        String md5str = DigestUtils.md5Hex(text + slat); // 生成使用盐的 MD5 密文
//        System.out.println("MD5加密后的字符串为:" + md5str);
        return md5str;
    }

    // 不带秘钥加密
    public static String md52(String text) throws Exception {
        // 加密后的字符串
        String md5str = DigestUtils.md5Hex(text); // 生成不加盐的 MD5 密文
//        System.out.println("MD52加密后的字符串为:" + md5str + "\t长度:" + md5str.length());
        return md5str;
    }
    
// -------------------下面的是解密验证MD5部分。

    /**
     * MD5验证方法
     * @param text 明文
     * @param slat 盐
     * @param md5 密文
     */
    // 根据传入的密钥进行验证
    public static boolean verify(String text, String slat, String md5) throws Exception {
        String md5str = md5(text, slat);
//        return md5str.equalsIgnoreCase(md5); // 应该可以直接 return 这个,没有测试过
        if (md5str.equalsIgnoreCase(md5)) {
//            System.out.println("验证通过");
            return true;
        }
        return false;
    }
	// 根据传入的密钥进行验证
	public static boolean verify(String text, String md5) throws Exception {
		String md5str = md52(text);
		if (md5str.equalsIgnoreCase(md5)) {
//			System.out.println("验证通过");
			return true;
		}
		return false;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值