Re注册事件回调“计算解密文字错误”
aesKey = Base64.decodeBase64(encodingAesKey + "=");//这里encodingAesKey ="0323.....ooooppo"随意设置的一个43个字符的字符串,无特殊字符
// 设置解密模式为AES的CBC模式
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
SecretKeySpec keySpec = new SecretKeySpec(aesKey, "AES");
IvParameterSpec iv = new IvParameterSpec(Arrays.copyOfRange(aesKey, 0, 16));
cipher.init(Cipher.DECRYPT_MODE, keySpec, iv);
// 使用BASE64对密文进行解码
还没开始解密就已经报错了(初始化解密库报错)
据我猜测,应该是缺包,求大神指点
接下来的代码
byte[] encrypted = Base64.decodeBase64(text);
// 解密
originalArr = cipher.doFinal(encrypted);
-------------------------
Re注册事件回调“计算解密文字错误”
java.security.InvalidKeyException: Illegal key size
原来是这个异常
catch (Exception e) {
throw new DingTalkEncryptException(DingTalkEncryptException.COMPUTE_DECRYPT_TEXT_ERROR);
}
大意了,官网有解决,先看看
-------------------------
Re注册事件回调“计算解密文字错误”
继续抛异常errcode -2 “Cannot resolve field”
再运行一次异常{"errcode":71006,"errmsg":"回调地址已经存在"}
{"aes_key":".....qqqxyz","call_back_tag":["user_modify_org"],"errcode":0,"errmsg":"ok","token":"...............","url":"http://....../demo/isvreceive"}
看来上次的异常还是成功注册了回调地址
折算成功了么