java密码MD5加密

来源:互联网 发布:心知天气api怎么用 编辑:程序博客网 时间:2024/04/29 08:35

java密码MD5加密


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.log4j.Logger;

 /**
  * 将密码进行MD5加密处理
  */
public class PassWordDigester {

    private static Logger logger = Logger.getLogger(PassWordDigester.class);

    private static final String ALGORITHM_MD5 = "MD5";

    /**
     * Encrypt the password with MD5
     * @param pass the password to encryption
     * @return encryption string
     */
    public static String getPassMD5(String pass) {
        String keys = null;
        try {
            MessageDigest md = MessageDigest.getInstance(ALGORITHM_MD5);
            if (pass == null) {
                pass = "";
            }
            byte[] bPass = pass.getBytes("UTF-8");
            md.update(bPass);
//            keys = new String(md.digest(), "GBK");
            keys = bytesToHexString(md.digest());
        }
        catch (NoSuchAlgorithmException aex) {
            logger.error("there is no " + ALGORITHM_MD5 + " Algorithm!");
        }
        catch (java.io.UnsupportedEncodingException uex) {
            logger.error("can not encode the password - " + uex.getMessage());
        }
        return keys;
    }
    
    /**
     * 将beye[]转换为十六进制字符串
     * @param bArray
     * @return
     */
   public static final String bytesToHexString(byte[] bArray) {
     StringBuffer sb = new StringBuffer(bArray.length);
     String sTemp;
     for (int i = 0; i < bArray.length; i++) {
      sTemp = Integer.toHexString(0xFF & bArray[i]);
      if (sTemp.length() < 2){
       sb.append(0);
      }
      sb.append(sTemp.toUpperCase());
     }
     return sb.toString();
  }


  public static void main(String[] args){
   String a = "qazwsx";
   System.out.println(getPassMD5(a));
  }
}

0 0
原创粉丝点击