From c95ef735634d6af3221488b556be804274a5a95e Mon Sep 17 00:00:00 2001
From: aa51513 <aa51513@163.com>
Date: 星期六, 15 五月 2021 12:20:31 +0800
Subject: [PATCH] 解决包名错误导致报错、删除重复类,将base64改为apache-codec实现,兼容高版本jdk

---
 java110-core/src/main/java/com/java110/core/factory/WechatFactory.java |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/factory/WechatFactory.java b/java110-core/src/main/java/com/java110/core/factory/WechatFactory.java
index 9f0f973..2578818 100644
--- a/java110-core/src/main/java/com/java110/core/factory/WechatFactory.java
+++ b/java110-core/src/main/java/com/java110/core/factory/WechatFactory.java
@@ -6,11 +6,11 @@
 import com.java110.utils.constant.WechatConstant;
 import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.StringUtil;
+
+import org.apache.commons.codec.binary.Base64;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.client.RestTemplate;
-import sun.misc.BASE64Decoder;
-
 import javax.crypto.Cipher;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
@@ -117,13 +117,13 @@
 
     public static String decryptS5(String sSrc, String encodingFormat, String sKey, String ivParameter) {
         try {
-            BASE64Decoder decoder = new BASE64Decoder();
-            byte[] raw = decoder.decodeBuffer(sKey);
+        	Base64 base64 = new Base64();
+            byte[] raw = base64.decode(sKey);
             SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
-            IvParameterSpec iv = new IvParameterSpec(decoder.decodeBuffer(ivParameter));
+            IvParameterSpec iv = new IvParameterSpec(base64.decode(ivParameter));
             Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
             cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
-            byte[] myendicod = decoder.decodeBuffer(sSrc);
+            byte[] myendicod = base64.decode(sSrc);
             byte[] original = cipher.doFinal(myendicod);
             String originalString = new String(original, encodingFormat);
             return originalString;

--
Gitblit v1.8.0