异常:
Caused by: javax.crypto.BadPaddingException: Given final block not properly padded代码:
public static String getSignPhone(String encryptedData,String iv,String js_code) throws Exception { 
    String sessionId = "";
Map<String, Object> resultMap =  WechatPayService.findOpenid(js_code);
if(resultMap != null){
sessionId = resultMap.get("session_key").toString();
}
 
 byte[] encrypData = Base64.decodeBase64(encryptedData);  
     byte[] ivData = Base64.decodeBase64(iv);  
     byte[] sessionKey = Base64.decodeBase64(sessionId);  
     String decrypt = decrypt(sessionKey,ivData,encrypData);
     System.out.println(decrypt);  
 
 if(decrypt == null){
 return creatResult(1, "解析错误",null ).toString();
 }
 JSONObject parse = (JSONObject) JSONObject.parse(decrypt);
 return (String) parse.get("phoneNumber");
   }

  public static String decrypt(byte[] key, byte[] iv, byte[] encData) throws Exception {  
        AlgorithmParameterSpec ivSpec = new IvParameterSpec(iv);  
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");  
        SecretKeySpec keySpec = new SecretKeySpec(key, "AES");  
        cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec);  
        //解析解密后的字符串  
        return new String(cipher.doFinal(encData),"UTF-8");  
    }