MD5 utils

package com.gzcivil.utils;
 
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Tool {

public static String md5(String string) {
       byte[] hash;
         try {
             hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8"));
         } catch (NoSuchAlgorithmException e) {
             throw new RuntimeException("Huh, MD5 should be supported?", e);
         } catch (UnsupportedEncodingException e) {
             throw new RuntimeException("Huh, UTF-8 should be supported?", e);
         }
 
         StringBuilder hex = new StringBuilder(hash.length * 2);
         for (byte b : hash) {
             if ((b & 0xFF) < 0x10)
                 hex.append("0");
             hex.append(Integer.toHexString(b & 0xFF));
         }
         return hex.toString();
     }
 
     public static String encrypt(String data) {
         if (data == null)
             data = "";
         byte[] btRet = null;
         try {
             btRet = _encrypt(data.getBytes("utf-8"));
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();
         }
         if (btRet == null)
             return null;
         return BinStr.byte2str(btRet).toLowerCase();
     }
 
     /**
      * 加密MD5
      * 
      * @param content
      *            需要加密的内容
      * @param password
      *            加密密码
      * @return
      */
     private static byte[] _encrypt(byte[] btData) {
         try {
             // 获得MD5摘要算法的 MessageDigest 对象
             MessageDigest mdInst = MessageDigest.getInstance("MD5");
             // 使用指定的字节更新摘要
             mdInst.update(btData);
             // 获得密文
             return mdInst.digest();
         } catch (Exception e) {
             e.printStackTrace();
             return null;
         }
     }
     
      
 }

posted on 2019-08-31 17:34  yuanxin1991  阅读(120)  评论(0)    收藏  举报

导航