| package com.doumee.core.utils; | 
|   | 
| import java.io.UnsupportedEncodingException; | 
| import java.security.MessageDigest; | 
| import java.security.NoSuchAlgorithmException; | 
|   | 
| import javax.crypto.Cipher; | 
| import javax.crypto.spec.IvParameterSpec; | 
| import javax.crypto.spec.SecretKeySpec; | 
|   | 
| import org.apache.commons.lang.StringUtils; | 
|   | 
| public class EncryptUtil { | 
|   | 
|     private static byte[] iv = { 1, 2, 3, 4, 5, 6, 7, 8 }; | 
|   | 
|     /** | 
|      * des加密 加密以 byte[] 明文输入 ,byte[] 密文输出 | 
|      *  | 
|      * @author: j | 
|      * @date: 2014-8-21 | 
|      *  | 
|      * @param encryptBytes | 
|      *            :要加密的字节数组 | 
|      * @param encryptKey | 
|      *            :秘钥,只能是八位字母和数字的组合 | 
|      * @return | 
|      * @throws Exception | 
|      */ | 
|     public static byte[] encryptDES(byte[] encryptBytes, String encryptKey) | 
|             throws Exception { | 
|         IvParameterSpec zeroIv = new IvParameterSpec(iv); | 
|         SecretKeySpec key = new SecretKeySpec(encryptKey | 
|                 .getBytes( "UTF-8"), "DES"); | 
|         Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); | 
|         cipher.init(Cipher.ENCRYPT_MODE, key, zeroIv); | 
|         byte[] encryptedData = cipher.doFinal(encryptBytes); | 
|   | 
|         return Base64Util.Encode(encryptedData); | 
|     } | 
|   | 
|     /** | 
|      * @author: j | 
|      * @date: 2014-8-21 | 
|      *  | 
|      * @param decryptBytes | 
|      *            :要解密的字节数组 | 
|      * @param decryptKey | 
|      *            :解密的秘钥,只能是八位字母和数字的组合 | 
|      * @return | 
|      * @throws Exception | 
|      */ | 
|     public static byte[] decryptDES(byte[] decryptBytes, String decryptKey) | 
|             throws Exception { | 
|         byte[] byteMi = Base64Util.decode(decryptBytes); | 
|         IvParameterSpec zeroIv = new IvParameterSpec(iv); | 
|         SecretKeySpec key = new SecretKeySpec(decryptKey | 
|                 .getBytes( "UTF-8"), "DES"); | 
|         Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); | 
|         cipher.init(Cipher.DECRYPT_MODE, key, zeroIv); | 
|         byte decryptedData[] = cipher.doFinal(byteMi); | 
|   | 
|         return decryptedData; | 
|     } | 
|   | 
|     /** | 
|      * MD5加密 2014-9-25 | 
|      *  | 
|      * @param plainText | 
|      * @return | 
|      * @throws NoSuchAlgorithmException | 
|      *             String | 
|      * @throws UnsupportedEncodingException | 
|      */ | 
|     public static String Md5(String plainText) throws NoSuchAlgorithmException, | 
|             UnsupportedEncodingException { | 
|         MessageDigest md = MessageDigest.getInstance("MD5"); | 
|         md.update(plainText.getBytes( "UTF-8")); | 
|         byte b[] = md.digest(); | 
|   | 
|         int i; | 
|   | 
|         StringBuffer buf = new StringBuffer(StringUtils.EMPTY); | 
|         for (int offset = 0; offset < b.length; offset++) { | 
|             i = b[offset]; | 
|             if (i < 0) { | 
|                 i += 256; | 
|             } | 
|             if (i < 16) { | 
|                 buf.append("0"); | 
|             } | 
|             buf.append(Integer.toHexString(i)); | 
|         } | 
|   | 
|         return buf.toString(); | 
|     } | 
|   | 
| } |