工具类:MD5密码

开始

package com.xjxcc.util;
  
import java.security.MessageDigest;
  
public class Md5Util {
    /**
     * 将明文,按照MD5方式转成暗文
     * @param     password:表示明文
     * @return :  表示对应的暗文
     */
    public static String encodeByMd5(String password) throws Exception{
        if(password==null || password.trim().length()==0){
            return null;
        }
        //创建MessageDigest类
        MessageDigest md5 = MessageDigest.getInstance("MD5");
        //将明文转暗文
        byte[] byteArray = md5.digest(password.getBytes());
        //暗文
        String passwordMD5 = byteArrayToHexString(byteArray);
        return passwordMD5;
    }
    /**
     * 将byte[]中的每一个byte类型的值,转成16进制数
     */
    private static String byteArrayToHexString(byte[] byteArray){
        StringBuffer sb = new StringBuffer();
        for(byte b : byteArray){
            sb.append(byteToHexString(b));
        }
        return sb.toString();
    }
    /**
     * 将byte,转成16进制数
     */
    private static String byteToHexString(byte b){
        //将byte值覆给int型值
        int n = b;
        //如果n是负数的话
        if(n < 0){
            n = n + 256;
        }
        //n除以16的商,作为高位
        int height = n / 16;//14
        int low = n % 16;//1
        //查表得到对应的16进制数
        return hex[height]+hex[low];
    }
    private static String[] hex = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
}

结束

猜你喜欢

转载自blog.csdn.net/liguoqingxjxcc/article/details/81666702