开发者社区> 问答> 正文

一键登录,使用自己的认证方案,token解密有问题

public static HashMap<String, String> decryptToken(Context context, String token) {
        HashMap<String, String> tokenMap = null;
        try {
            DirectConnectToken dcToken = JSON.parseObject(Base64.decode(token, Base64.DEFAULT), DirectConnectToken.class);
            if(dcToken.getKey() == null){
                System.out.println("==decryptToken dcToken null...");
            }
            String aeskey = decryptByPrivateKey(Base64.decode(dcToken.getKey(), Base64.DEFAULT),
                    RSA_PRIVATE_KEY);
            String encryptToken = AESUtil.decryptBase642String(dcToken.getEncryptToken(), aeskey, context.getPackageName());
            tokenMap = JSON.parseObject(encryptToken, HashMap.class);
            tokenMap.put("vendorName", dcToken.getVendorName());
        } catch (Exception e) {
            System.out.println("==decryptToken catch...");
            e.printStackTrace();
        }
        return tokenMap;
    }

DirectConnectToken dcToken = JSON.parseObject(Base64.decode(token, Base64.DEFAULT), DirectConnectToken.class); 这边出错了,解出来dcToken.getKey()是null的,是什么原因?

展开
收起
1389347149401717 2020-07-10 11:14:58 747 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
安全机制与User账户身份验证实战 立即下载
友盟+智能认证U-Verify 立即下载
自主管理身份:分布式数字身份和可验证凭证 立即下载