| package com.zt.core.security; | 
|   | 
| import org.slf4j.Logger; | 
| import org.slf4j.LoggerFactory; | 
|   | 
| import java.security.MessageDigest; | 
|   | 
| /** | 
|  * Md5加密方法 | 
|  *  | 
|  * @author jiayin | 
|  */ | 
| public class Md5Utils | 
| { | 
|     private static final Logger log = LoggerFactory.getLogger(Md5Utils.class); | 
|   | 
|     private static byte[] md5(String s) | 
|     { | 
|         MessageDigest algorithm; | 
|         try | 
|         { | 
|             algorithm = MessageDigest.getInstance("MD5"); | 
|             algorithm.reset(); | 
|             algorithm.update(s.getBytes("UTF-8")); | 
|             byte[] messageDigest = algorithm.digest(); | 
|             return messageDigest; | 
|         } | 
|         catch (Exception e) | 
|         { | 
|             log.error("MD5 Error...", e); | 
|         } | 
|         return null; | 
|     } | 
|   | 
|     private static final String toHex(byte hash[]) | 
|     { | 
|         if (hash == null) | 
|         { | 
|             return null; | 
|         } | 
|         StringBuffer buf = new StringBuffer(hash.length * 2); | 
|         int i; | 
|   | 
|         for (i = 0; i < hash.length; i++) | 
|         { | 
|             if ((hash[i] & 0xff) < 0x10) | 
|             { | 
|                 buf.append("0"); | 
|             } | 
|             buf.append(Long.toString(hash[i] & 0xff, 16)); | 
|         } | 
|         return buf.toString(); | 
|     } | 
|   | 
|     public static String hash(String s) | 
|     { | 
|         try | 
|         { | 
|             return new String(toHex(md5(s)).getBytes("UTF-8"), "UTF-8"); | 
|         } | 
|         catch (Exception e) | 
|         { | 
|             log.error("not supported charset...{}", e); | 
|             return s; | 
|         } | 
|     } | 
| } |