微信开发平台解密算法

2021-05-21  本文已影响0人  Geroge1226

1、说明

小程序开发对接微信计步(https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html)。微信返回的并不会直接返回用户运动数据(敏感)。而是返回加密加签数据。

接口返回数据

2、java版实现

解密工具类


 public static String decode(String sessionKey,String encryptedData,String iv)
            throws Exception{
        byte[] encryptData = Base64.decodeBase64(encryptedData);
        byte[] ivData = Base64.decodeBase64(iv);
        byte[] sessionKeyB = Base64.decodeBase64(sessionKey);

        Security.addProvider(new BouncyCastleProvider());
        AlgorithmParameterSpec ivSpec = new IvParameterSpec(ivData);

        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding","BC");
        SecretKeySpec keySpec = new SecretKeySpec(sessionKeyB, "AES");
        cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec);
        byte[] doFinal = cipher.doFinal(encryptData);
        return new String(doFinal);
    }
上一篇下一篇

猜你喜欢

热点阅读