
org.scene.wx.provider.WxDecryptUtils Maven / Gradle / Ivy
package org.scene.wx.provider;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
class WxDecryptUtils {
private static String AesDecrypt(String src, byte[] key, byte[] ivParameter) throws Exception {
SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(ivParameter);
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] encrypted1 = Base64.getDecoder().decode(src);//先用base64解密
byte[] original = cipher.doFinal(encrypted1);
return new String(original, StandardCharsets.UTF_8);
}
public static String decryptData(String sessionKey, String encryptedData, String iv) {
byte[] sKey = Base64.getDecoder().decode(sessionKey);
byte[] ivKey = Base64.getDecoder().decode(iv);
try {
return AesDecrypt(encryptedData, sKey, ivKey);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy