后台服务
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

60 行
2.6 KiB

  1. package com.iformall.utils;
  2. import org.bouncycastle.jce.provider.BouncyCastleProvider;
  3. import javax.crypto.Cipher;
  4. import javax.crypto.spec.SecretKeySpec;
  5. import java.security.Security;
  6. public class CipherUtil {
  7. /**
  8. * 密钥算法
  9. */
  10. private static final String ALGORITHM = "AES";
  11. /**
  12. * 加解密算法/工作模式/填充方式
  13. */
  14. private static final String ALGORITHM_MODE_PADDING = "AES/ECB/PKCS7Padding";
  15. static {
  16. try {
  17. Security.addProvider(new BouncyCastleProvider());
  18. } catch (Exception e) {
  19. e.printStackTrace();
  20. }
  21. }
  22. /**
  23. * AES解密
  24. */
  25. public static String decryptData(byte[] b, String serectKey) throws Exception {
  26. Cipher cipher = Cipher.getInstance(ALGORITHM_MODE_PADDING);
  27. SecretKeySpec key = new SecretKeySpec(HashUtil.md5(serectKey).toLowerCase().getBytes(), ALGORITHM);
  28. cipher.init(Cipher.DECRYPT_MODE, key);
  29. return new String(cipher.doFinal(b));
  30. }
  31. /**
  32. * decryptReqInfo
  33. * @param req_info
  34. * @param key
  35. * @return
  36. * @throws Exception
  37. */
  38. public static String decryptReqInfo(String req_info, String key) throws Exception {
  39. byte[] b = Base64Util.decode(req_info);
  40. String B = decryptData(b, key);
  41. return B;
  42. }
  43. public static void main(String[] args) throws Exception {
  44. String A = "Ndaz8Fj4VUkxnD9iQ2ghD8yRgG8M9gBa0qIP4/GebJtzFWswbquDH/+kX3ZGB6zVb//4ZLIxMC4IZ0hzhsNc8JsDGbPKSYlaBI1prdbXr8YMzqAAHg+UJKNPyibJAV0o+soGNYeVrzVhzjWk0oFzCk2rvAtLlnq6RKjwTLOlIUxWXJMvtsCtpXKvcWMxRx+8pn42Barx6B2D0lM+39Vmi5Mu6XXHi9xUO+KPF7sgfv4hz/2NBBBfsR9Df0CxfQrEKmjxWgrl4Cn1g8JvBhZJiqUsP0oxS+xBZVGRLRY66oDNaLlNtzmwsrkEnDc1hWXgy3AymB0oLRz5SAOry0vKrzqv/yw1pWzyltAZ/M7ge6iD7gP/ILcxty5HjOZE22p01J6MqW8UAiTizrURucC/e3f9N935qs3DR8oqDO2Di4KR1pZnVQcxStnrlnq5YkaZRYXAdp3od80zCaNnNKxWuygxbJwkLOeohVaZNaCrBtxtvzZgHHiIrXSjAtHhXdxcl3A7Oo7M2I11D7Sss/BF72W8b0VgLY/GeJvUI5cmxpjMsE445coq7FQpAGZiLzohg73VpTA2GLxkev0xZj22XdKuJpl4SIOaSBxnDLTILzs/Ed6BndL3+jeep3eb2i5GbzREkdBlHUqxr7/ea9OeMZLVnLcWPmcDctDEQGObVQOlLD9KMUvsQWVRkS0WOuqAkQXAqvB5qhA48BZlHAitz7F2Q4+aAJx5KUFIkrxpYNMuoAvUBRA4HNaQz/metEA10EzVcTsuG2OCQmHsVIRqhMgbRz3a3xjTWMxN1KoHO8KaxEdN3CpXfXSNgMvEa/G4v6As59RnW5PRxUeqJSyfgMeoACdLb6tGwk8Jd72NPP8HMF4fUy8JqgtoOcm6UTBdcQHb/OVqQSDpWlNToOB9GdBM1XE7LhtjgkJh7FSEaoQ576jMlCjyCAqd+c3yiDBIrtaemJwBBhwHmnHMwYimTSDDzy4mbTZE41svWepZKmZcH/6+OM+d71UOiPaVQS6IJZhBCvKYLpbpu4+OjEUNGKE+8CpN5TcxfpQLR+6c/KZZjXSTeR4RK6I2yNW7yocy";
  45. String B = decryptReqInfo(A, "XHZfpVA0NzoXgLEjsujctUTcyj8Zur2C");
  46. System.out.println(B);
  47. }
  48. }