收藏
回答

重置密钥还是报40125,应该怎么办?

{"errcode":"40125","errmsg":"invalid appsecret, view more at http://t.cn/RAEkdVq, hints: [ req_id: bFABfDYIRa-ql ]","success":false}

我的appid:https://api.weixin.qq.com/sns/jscode2session?appid=wx136b1c95b7cfed26 重置密钥后用新的也报错

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

3 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-04-02

    appsecret 复制错了吧

    2020-04-02
    有用 1
    回复 1
    • 习惯了回家
      习惯了回家
      2020-04-02
      诶呀,是的,运营给我的是错的
      2020-04-02
      回复
  • 😄
    😄
    2020-08-20

    小程序密钥重置后,后端代码密钥也更新,但是还是报40125

    2020-08-20
    有用
    回复
  • 习惯了回家
    习惯了回家
    2020-04-02

    public static String getUserInfo(String encryptedData, String sessionKey, String iv) {


            String result = "";

            // 被加密的数据

            byte[] dataByte = Base64.decode(encryptedData);

            // 加密秘钥

            byte[] keyByte = Base64.decode(sessionKey);

            // 偏移量

            byte[] ivByte = Base64.decode(iv);

            try {

                // 如果密钥不足16位,那么就补足. 这个if 中的内容很重要

                int base = 16;

                if (keyByte.length % base != 0) {

                    int groups = keyByte.length / base

                            + (keyByte.length % base != 0 ? 1 : 0);

                    byte[] temp = new byte[groups * base];

                    Arrays.fill(temp, (byte) 0);

                    System.arraycopy(keyByte, 0, temp, 0, keyByte.length);

                    keyByte = temp;

                }

                // 初始化

                Security.addProvider(new BouncyCastleProvider());

                Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding", "BC");

                SecretKeySpec spec = new SecretKeySpec(keyByte, "AES");

                AlgorithmParameters parameters = AlgorithmParameters

                        .getInstance("AES");

                parameters.init(new IvParameterSpec(ivByte));

                cipher.init(Cipher.DECRYPT_MODE, spec, parameters);// 初始化

                byte[] resultByte = cipher.doFinal(dataByte);

                if (null != resultByte && resultByte.length > 0) {

                    result = new String(resultByte, "UTF-8");

                }

            } catch (NoSuchAlgorithmException e) {

                e.printStackTrace();

            } catch (NoSuchPaddingException e) {

                e.printStackTrace();

            } catch (InvalidParameterSpecException e) {

                e.printStackTrace();

            } catch (IllegalBlockSizeException e) {

                e.printStackTrace();

            } catch (BadPaddingException e) {

                e.printStackTrace();

            } catch (UnsupportedEncodingException e) {

                e.printStackTrace();

            } catch (InvalidKeyException e) {

                e.printStackTrace();

            } catch (InvalidAlgorithmParameterException e) {

                e.printStackTrace();

            } catch (NoSuchProviderException e) {

                e.printStackTrace();

            }

            return result;

        }


    这是我们以前小程序的解密方法,现在解密解不出来,乱码,谁能帮忙看看什么问题,网上好多示例解出来都是乱码,感觉程序应该没什么问题啊

    2020-04-02
    有用
    回复
登录 后发表内容
问题标签