|
|
@@ -7,11 +7,11 @@ import com.java110.utils.cache.MappingCache;
|
|
|
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;
|
|
|
@@ -122,13 +122,13 @@ public class WechatFactory {
|
|
|
|
|
|
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;
|