admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/util/AESUtil.java
@@ -1,193 +1,193 @@
package com.yeshi.fanli.util;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
 * AES加解密
 *
 * @author Administrator
 *
 */
public class AESUtil {
   private final static String KEY = "1ww52Ha192109425";
   public static String encrypt(String content) {
      try {
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(KEY.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(KEY.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         byte[] byteContent = content.getBytes("utf-8");
         cipher.init(Cipher.ENCRYPT_MODE, key);
         byte[] result = cipher.doFinal(byteContent);
         return (new sun.misc.BASE64Encoder()).encode(result);
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      }
      return new String();
   }
   public static String encrypt(String content,String keyStr) {
      try {
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(keyStr.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(keyStr.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         byte[] byteContent = content.getBytes("utf-8");
         cipher.init(Cipher.ENCRYPT_MODE, key);
         byte[] result = cipher.doFinal(byteContent);
         return (new sun.misc.BASE64Encoder()).encode(result);
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      }
      return new String();
   }
   public static String decrypt(String contentStr) {
      try {
         byte[] content = (new sun.misc.BASE64Decoder()).decodeBuffer(contentStr);
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(KEY.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(KEY.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         cipher.init(Cipher.DECRYPT_MODE, key);
         byte[] result = cipher.doFinal(content);
         return new String(result);
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return new String();
   }
   public static String decrypt(String contentStr,String keyStr) {
      try {
         byte[] content = (new sun.misc.BASE64Decoder()).decodeBuffer(contentStr);
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(keyStr.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(keyStr.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         cipher.init(Cipher.DECRYPT_MODE, key);
         byte[] result = cipher.doFinal(content);
         return new String(result);
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return new String();
   }
   public static String decrypt(String contentStr, String keyBase64, String ivBase64) {
      try {
         byte[] content = (new sun.misc.BASE64Decoder()).decodeBuffer(contentStr);
         IvParameterSpec iv = new IvParameterSpec((new sun.misc.BASE64Decoder()).decodeBuffer(ivBase64));
         SecretKeySpec skeySpec = new SecretKeySpec((new sun.misc.BASE64Decoder()).decodeBuffer(keyBase64), "AES");
         Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7PADDING");
         cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
         byte[] original = cipher.doFinal(content);
         return new String(original);
      } catch (Exception ex) {
         ex.printStackTrace();
      }
      return null;
   }
   public static String decrypt(byte[] contentStr, String k) {
      try {
         byte[] content = contentStr;
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(k.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(k.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         cipher.init(Cipher.DECRYPT_MODE, key);
         byte[] result = cipher.doFinal(content);
         return new String(result, "utf-8");
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return new String();
   }
}
package com.yeshi.fanli.util;
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
/**
 * AES加解密
 *
 * @author Administrator
 *
 */
public class AESUtil {
   private final static String KEY = "1ww52Ha192109425";
   public static String encrypt(String content) {
      try {
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(KEY.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(KEY.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         byte[] byteContent = content.getBytes("utf-8");
         cipher.init(Cipher.ENCRYPT_MODE, key);
         byte[] result = cipher.doFinal(byteContent);
         return (new sun.misc.BASE64Encoder()).encode(result);
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      }
      return new String();
   }
   public static String encrypt(String content,String keyStr) {
      try {
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(keyStr.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(keyStr.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         byte[] byteContent = content.getBytes("utf-8");
         cipher.init(Cipher.ENCRYPT_MODE, key);
         byte[] result = cipher.doFinal(byteContent);
         return (new sun.misc.BASE64Encoder()).encode(result);
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      }
      return new String();
   }
   public static String decrypt(String contentStr) {
      try {
         byte[] content = (new sun.misc.BASE64Decoder()).decodeBuffer(contentStr);
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(KEY.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(KEY.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         cipher.init(Cipher.DECRYPT_MODE, key);
         byte[] result = cipher.doFinal(content);
         return new String(result);
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return new String();
   }
   public static String decrypt(String contentStr,String keyStr) {
      try {
         byte[] content = (new sun.misc.BASE64Decoder()).decodeBuffer(contentStr);
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(keyStr.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(keyStr.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         cipher.init(Cipher.DECRYPT_MODE, key);
         byte[] result = cipher.doFinal(content);
         return new String(result);
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return new String();
   }
   public static String decrypt(String contentStr, String keyBase64, String ivBase64) {
      try {
         byte[] content = (new sun.misc.BASE64Decoder()).decodeBuffer(contentStr);
         IvParameterSpec iv = new IvParameterSpec((new sun.misc.BASE64Decoder()).decodeBuffer(ivBase64));
         SecretKeySpec skeySpec = new SecretKeySpec((new sun.misc.BASE64Decoder()).decodeBuffer(keyBase64), "AES");
         Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7PADDING");
         cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
         byte[] original = cipher.doFinal(content);
         return new String(original);
      } catch (Exception ex) {
         ex.printStackTrace();
      }
      return null;
   }
   public static String decrypt(byte[] contentStr, String k) {
      try {
         byte[] content = contentStr;
         KeyGenerator kgen = KeyGenerator.getInstance("AES");
         SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
         secureRandom.setSeed(k.getBytes());
         kgen.init(128, secureRandom);
         SecretKeySpec key = new SecretKeySpec(k.getBytes(), "AES");
         Cipher cipher = Cipher.getInstance("AES");
         cipher.init(Cipher.DECRYPT_MODE, key);
         byte[] result = cipher.doFinal(content);
         return new String(result, "utf-8");
      } catch (NoSuchAlgorithmException e) {
         e.printStackTrace();
      } catch (NoSuchPaddingException e) {
         e.printStackTrace();
      } catch (InvalidKeyException e) {
         e.printStackTrace();
      } catch (IllegalBlockSizeException e) {
         e.printStackTrace();
      } catch (BadPaddingException e) {
         e.printStackTrace();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return new String();
   }
}