字节小程序
开发者社区
小程序小游戏
登录
解密敏感数据,java示例代码报错

解密敏感数据,java示例代码报错

536浏览作者: clairechen

根据https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/api/open-interface/user-information/sensitive-data-process/ 官方文档进行操作,使用java demo进行解密,能够正常解密,但是昵称数据是乱码。


解密代码:

Base64.Decoder decoder = Base64.getDecoder();
byte[] sessionKeyBytes = decoder.decode("Ps2xsiAzB。。。。。EwJkA==");
byte[] ivBytes = decoder.decode("ar8P0OkT。。。。。HrW9w==");
byte[] encryptedBytes = decoder.decode("cfOy32OwcBaZv7Vq+SjK2/wZSh9tCv2nl9+Y8PunJDO4AbFKgv8hJdH7Imp0dn8eGAZ9KJBoNO2nI+PbWfcTsOE2Y8+ZExBu4tUl6/Cle61wB9GPMCJ7ip/4RgrKvthj5RkuHLV1vTSWyM0etIwGRg9FDopezueMNTYVZrhKUzSyipSp8uFesQkLHw54WYsj6RjQm6tiOrAu6XywIOdl5I+/lXO+o+04qwz。。。。。。。。。。j0f1rfVg7Bxgg4E0X4IC9tzS7GvZQHOjzDABhBOWInm0PNGwzXIBkUIZmto2pjC8VDmZS3v3N27OCb2c5E7DblfSVbcjXHuZN7OPB+zOxDADD7Q==");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
SecretKeySpec skeySpec = new SecretKeySpec(sessionKeyBytes, "AES");
IvParameterSpec ivSpec = new IvParameterSpec(ivBytes);
cipher.init(Cipher.DECRYPT_MODE, skeySpec, ivSpec);
byte[] ret = cipher.doFinal(encryptedBytes);
String res = new String(ret);
System.out.println(res);


解密结果 :

�?�Ь�����G�3l��irechen","avatarUrl":"https://p9-passport.byteacctimg.com/img/mosaic-legacy/3796/2975850990~300x300.image","gender":0,"city":"","province":"","country":"","language":"","openId":"_000Pn9Vt1zQCPhEbZUIecTohiy3zk1DZthI"...后面都是正常

最前面的字段应该是【nickName】,但是key存在乱码


请问具体什么原因呢?

最后一次编辑于 2022年11月28日
加载中