package com.matrix.core.tools; 
 | 
  
 | 
import java.io.UnsupportedEncodingException; 
 | 
import java.security.MessageDigest; 
 | 
import java.security.NoSuchAlgorithmException; 
 | 
import java.util.Formatter; 
 | 
  
 | 
/** 
 | 
 * 加密工具 
 | 
 *  
 | 
 * @author JIANGYOUYAO 
 | 
 * @email 935090232@qq.com 
 | 
 * @date 2017年11月29日 
 | 
 */ 
 | 
public class EncrypUtil { 
 | 
    /** 
 | 
     * 字符串MD5加密 
 | 
     *  
 | 
     * @author JIANGYOUYAO 
 | 
     * @email 935090232@qq.com 
 | 
     * @date 2017年12月5日 
 | 
     * @param sourceStr 
 | 
     * @return 
 | 
     * @throws UnsupportedEncodingException 
 | 
     * @throws NoSuchAlgorithmException  
 | 
     */ 
 | 
    public static String getMD5(String sourceStr) throws UnsupportedEncodingException, NoSuchAlgorithmException { 
 | 
  
 | 
        String resultStr = ""; 
 | 
            byte[] temp = sourceStr.getBytes(); 
 | 
            MessageDigest md5 = MessageDigest.getInstance("MD5"); 
 | 
            md5.update(temp); 
 | 
            byte[] b = md5.digest(); 
 | 
            for (int i = 0; i < b.length; i++) { 
 | 
                char[] digit = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; 
 | 
                char[] ob = new char[2]; 
 | 
                ob[0] = digit[(b[i] >>> 4) & 0X0F]; 
 | 
                ob[1] = digit[b[i] & 0X0F]; 
 | 
                resultStr += new String(ob); 
 | 
            } 
 | 
            return resultStr; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 返回SHA-1加密后的字符串 
 | 
     *  
 | 
     * @author JIANGYOUYAO 
 | 
     * @email 935090232@qq.com 
 | 
     * @date 2017年12月5日 
 | 
     * @param sourceStr 
 | 
     * @return 
 | 
     * @throws UnsupportedEncodingException 
 | 
     * @throws NoSuchAlgorithmException 
 | 
     */ 
 | 
    public static String getSha1(String sourceStr) throws UnsupportedEncodingException, NoSuchAlgorithmException { 
 | 
        MessageDigest crypt = MessageDigest.getInstance("SHA-1"); 
 | 
        crypt.reset(); 
 | 
        crypt.update(sourceStr.getBytes("UTF-8")); 
 | 
        sourceStr = byteToHex(crypt.digest()); 
 | 
        return sourceStr; 
 | 
    } 
 | 
  
 | 
    private static String byteToHex(final byte[] hash) { 
 | 
        Formatter formatter = new Formatter(); 
 | 
        for (byte b : hash) { 
 | 
            formatter.format("%02x", b); 
 | 
        } 
 | 
        String result = formatter.toString(); 
 | 
        formatter.close(); 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
      
 | 
} 
 |