收藏
回答

解密手机号失败

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug getPhonenumber 客户端 7.0.3 2.6.6

调用解密手机号接口,经常第一次失败,重新调用才会成功

解密代码如下:


try {
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
   Key sKeySpec = new SecretKeySpec(keyByte, "AES");
   cipher.init(Cipher.DECRYPT_MODE, sKeySpec, generateIV(ivByte));// 初始化
   byte[] result = cipher.doFinal(content);
   return  new String(result,"UTF-8");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
} catch (NoSuchProviderException e) {
// TODO Auto-generated catch block
   e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
   e.printStackTrace();
}

回答关注问题邀请回答
收藏

3 个回答

  • Ping
    Ping
    06-11
    \
    06-11
    有用
    回复
  • 心有灵犀
    心有灵犀
    2019-07-24

    和楼主遇到同样的问题,输出的结果是怎么看,可以发现什么问题呢?我把我的结果发给你,帮我解释一下。



    2019-07-24
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2019-06-26

    报啥错啊

    2019-06-26
    有用
    回复 17
    • 萍爷
      萍爷
      2019-06-26

      javax.crypto.BadPaddingException: pad block corrupted

      at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher.doFinal(Unknown Source)

      at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineDoFinal(Unknown Source)


      2019-06-26
      回复
    • Mr.Zhao
      Mr.Zhao
      2019-06-26回复萍爷

      https://blog.csdn.net/l523115401/article/details/80251859

      2019-06-26
      回复
    • 萍爷
      萍爷
      2019-06-26回复Mr.Zhao

      您好,我这边都没有调用wx.getUserInfo

      2019-06-26
      回复
    • Mr.Zhao
      Mr.Zhao
      2019-06-26回复萍爷

      只是让你参考的,不一定是能实际解决你问题的

      2019-06-26
      回复
    • 萍爷
      萍爷
      2019-06-26回复Mr.Zhao

      您好,我咨询了其他人,他们直接调用微信解密也会出现这个问题,这是微信自身的bug吗?

      2019-06-26
      回复
    查看更多(12)
登录 后发表内容