package com.dayu.baselibrary.utils; 
 | 
  
 | 
import java.io.FileInputStream; 
 | 
import java.io.InputStream; 
 | 
import java.io.UnsupportedEncodingException; 
 | 
import java.security.MessageDigest; 
 | 
import java.security.NoSuchAlgorithmException; 
 | 
  
 | 
public class WSMD5 { 
 | 
    private static final char HEX_DIGITS[] = {'0', '1', '2', '3', '4', '5', 
 | 
            '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; 
 | 
  
 | 
  
 | 
    public static void main(String[] args) { 
 | 
        getMD5Str("geiaginiig@2019"); 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * MD5 加密处理 
 | 
     * 
 | 
     * @param str 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getMD5Str(String str) { 
 | 
  
 | 
        try { 
 | 
            MessageDigest messageDigest = null; 
 | 
            try { 
 | 
                messageDigest = MessageDigest.getInstance("MD5"); 
 | 
                messageDigest.reset(); 
 | 
                messageDigest.update(str.getBytes("UTF-8")); 
 | 
            } catch (NoSuchAlgorithmException e) { 
 | 
                System.out.println("NoSuchAlgorithmException caught!"); 
 | 
                e.printStackTrace(); 
 | 
            } catch (UnsupportedEncodingException e) { 
 | 
                e.printStackTrace(); 
 | 
            } 
 | 
            byte[] byteArray = messageDigest.digest(); 
 | 
            StringBuffer md5StrBuff = new StringBuffer(); 
 | 
            for (int i = 0; i < byteArray.length; i++) { 
 | 
                if (Integer.toHexString(0xFF & byteArray[i]).length() == 1) 
 | 
                    md5StrBuff.append("0").append( 
 | 
                            Integer.toHexString(0xFF & byteArray[i])); 
 | 
                else 
 | 
                    md5StrBuff.append(Integer.toHexString(0xFF & byteArray[i])); 
 | 
            } 
 | 
            return md5StrBuff.toString(); 
 | 
        } catch (Exception e) { 
 | 
            e.printStackTrace(); 
 | 
        } 
 | 
  
 | 
        return str; 
 | 
    } 
 | 
  
 | 
    public static String getMD5Str(String str, String str2) { 
 | 
        return getMD5Str(str + str2); 
 | 
    } 
 | 
  
 | 
    public static String toHexString(byte[] b) { 
 | 
        StringBuilder sb = new StringBuilder(b.length * 2); 
 | 
        for (int i = 0; i < b.length; i++) { 
 | 
            sb.append(HEX_DIGITS[(b[i] & 0xf0) >>> 4]); 
 | 
            sb.append(HEX_DIGITS[b[i] & 0x0f]); 
 | 
        } 
 | 
        return sb.toString(); 
 | 
    } 
 | 
  
 | 
    public static String md5sum(String filename) { 
 | 
        InputStream fis = null; 
 | 
        byte[] buffer = new byte[1024]; 
 | 
        int numRead = 0; 
 | 
        MessageDigest md5; 
 | 
        try { 
 | 
            fis = new FileInputStream(filename); 
 | 
            md5 = MessageDigest.getInstance("MD5"); 
 | 
            while ((numRead = fis.read(buffer)) > 0) { 
 | 
                md5.update(buffer, 0, numRead); 
 | 
            } 
 | 
            return toHexString(md5.digest()); 
 | 
        } catch (Exception e) { 
 | 
            return ""; 
 | 
        } finally { 
 | 
            if (fis != null) { 
 | 
                try { 
 | 
                    fis.close(); 
 | 
                } catch (Exception e) { 
 | 
                    e.printStackTrace(); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 |