MD5加密工具类

来源:互联网 发布:东莞金博软件 编辑:程序博客网 时间:2024/05/18 21:40
package com.bqzl.qiantaicheapp.utils;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * MD5加密工具类 * @author tanganjun * */public class MD5Util {    private static Logger log = LoggerFactory.getLogger(MD5Util.class);    /**     * 返回MD5摘要值     * @param data     */    public static String md5Digest(String data){        // 用于十六进制显示        char hexs[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };        StringBuffer hexSb = new StringBuffer("");        try {            // 指定加密的方式为MD5            MessageDigest md = MessageDigest.getInstance("MD5");            //使用平台的默认字符集将此 String 编码为 byte序列            byte[] btInput = data.getBytes();            // 进行加密运算            byte bytes[] = md.digest(btInput);            for (int i = 0; i < bytes.length; i++) {                // 说明:1个byte(1个字节)需要8个二进制位表示,或者2个十六进制位表示,如:0xff                hexSb.append(hexs[bytes[i] >>> 4 & 0xf]);//高4位                hexSb.append(hexs[bytes[i] & 0xf]);//低4位            }        } catch (NoSuchAlgorithmException e) {            log.error("MD5加密错误,data="+data,e);        }        return hexSb.toString();    }}
原创粉丝点击