Java 实现MD5加密工具

加密工具类



package com.util;

import com.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.security.MessageDigest;

/**
 * Description:MD5工具 <br>
 *
 */
public class MD5Util {

    private static final Logger logger = LoggerFactory.getLogger(MD5Util.class);

    /**
     * 获取32位md5值
     *
     * @param str
     * @return
     */
    public static String get32MD5(String str, String charsetName) {

        String result = "";
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] strByte = str.getBytes();
            if (StringUtils.isNotBlank(charsetName)) {
                strByte = str.getBytes(charsetName);
            }
            md.update(strByte);
            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));
            }
            result = buf.toString();
        } catch (Exception e) {
            logger.error("捕获异常:",e);
        }
        return result;
    }

    /**
     * 获取大写32位md5值
     *
     * @param str
     * @return
     */
    public static String get32UpperCaseMD5(String str) {
        return StringUtils.upperCase(get32MD5(str, "UTF-8"));
    }


    public static void main(String[] args) {
        System.out.println(get32UpperCaseMD5("admin"));
    }


}



版权声明:本文为xiaomoyao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。