java中的MD5工具类

Posted 阿拉的梦想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的MD5工具类相关的知识,希望对你有一定的参考价值。

简介:MD5算法. MD5算法是典型的消息摘要算法,它是由MD4,MD3和MD2算法演变而来。. 无论是哪一种MD算法,其原理都是接受一个任意长度的消息并产生一个128位的消息摘要。. 如果把得到的消息摘要转换成十六进制字符串,则会得到一个32字节长度的字符串,我们平常见到的大部分MD数字指纹就是一个长度为32的十六进制字符串。

MD5工具类


/**
 * MD5加密工具类
 *
 */
public class MyMD5Util {
    //盐,用于混交md5
    private static final String slat = "this is my salt";

    /**
     * 1.java原生用法
     *
     * @param dataStr
     * @return
     */
    public static String encrypt(String dataStr) {
        try {
            dataStr = dataStr + slat;
            MessageDigest m = MessageDigest.getInstance("MD5");
            m.update(dataStr.getBytes(StandardCharsets.UTF_8));
            byte[] s = m.digest();
            StringBuilder result = new StringBuilder();
            for (byte b : s) {
                result.append(Integer.toHexString((0x000000FF & b) | 0xFFFFFF00).substring(6));
            }
            return result.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    /**
     * 2.spring提供的工具类用法
     * 生成md5
     *
     * @return
     */
    public static String getMD5(String str) {
        String base = str + slat;
        String md5 = DigestUtils.md5DigestAsHex(base.getBytes());
        return md5;
    }
}

以上是关于java中的MD5工具类的主要内容,如果未能解决你的问题,请参考以下文章

一文让你轻松了解JAVA开发中的四种加密方法

可变MD5加密(Java实现)

MD5编码工具类 MD5Code.java

Java常用工具类(计算MD5,验证码随机生成,天数差值计算)

java MD5工具类

java MD5工具类