MD5&SHA加密util类(Java)

 MD5&SHA加密util类(Java)

  1. package com.arui.util;  
  2. import java.security.MessageDigest;  
  3. import java.security.NoSuchAlgorithmException;  
  4. public class EncryptUtils {  
  5.     /** 
  6.      * Encrypt string using MD5 algorithm 
  7.      */  
  8.     public final static String encryptMD5(String source) {  
  9.         if (source == null) {  
  10.             source = "";  
  11.         }  
  12.         String result = "";  
  13.         try {  
  14.             result = encrypt(source, "MD5");  
  15.         } catch (NoSuchAlgorithmException ex) {  
  16.             // this should never happen  
  17.             throw new RuntimeException(ex);  
  18.         }  
  19.         return result;  
  20.     }  
  21.     /** 
  22.      * Encrypt string using SHA algorithm 
  23.      */  
  24.     public final static String encryptSHA(String source) {  
  25.         if (source == null) {  
  26.             source = "";  
  27.         }  
  28.         String result = "";  
  29.         try {  
  30.             result = encrypt(source, "SHA");  
  31.         } catch (NoSuchAlgorithmException ex) {  
  32.             // this should never happen  
  33.             throw new RuntimeException(ex);  
  34.         }  
  35.         return result;  
  36.     }  
  37.     /** 
  38.      * Encrypt string 
  39.      */  
  40.     private final static String encrypt(String source, String algorithm)  
  41.             throws NoSuchAlgorithmException {  
  42.         byte[] resByteArray = encrypt(source.getBytes(), algorithm);  
  43.         return toHexString(resByteArray);  
  44.     }  
  45.     /** 
  46.      * Encrypt byte array. 
  47.      */  
  48.     private final static byte[] encrypt(byte[] source, String algorithm)  
  49.             throws NoSuchAlgorithmException {  
  50.         MessageDigest md = MessageDigest.getInstance(algorithm);  
  51.         md.reset();  
  52.         md.update(source);  
  53.         return md.digest();  
  54.     }  
  55.     /** 
  56.      * Get hex string from byte array 
  57.      */  
  58.     private final static String toHexString(byte[] res) {  
  59.         StringBuffer sb = new StringBuffer(res.length << 1);  
  60.         for (int i = 0; i < res.length; i++) {  
  61.             String digit = Integer.toHexString(0xFF & res[i]);  
  62.             if (digit.length() == 1) {  
  63.                 digit = '0' + digit;  
  64.             }  
  65.             sb.append(digit);  
  66.         }  
  67.         return sb.toString().toUpperCase();  
  68.     }  
  69. }  
 



原文链接: http://blog.csdn.net/arui319/article/details/5771804

你可能感兴趣的:(MD5&SHA加密util类(Java))