小程序
小游戏
企业微信
微信支付
扫描小程序码分享
有人遇到在小程序获取到用户的信息时候,将encryptedData和iv传给后端,后端再去解密的时候会有一定的几率出现乱码的情况,大家又遇到这种情况吗?最后是怎么解决的?
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我也遇到过,前一天正常的调试,今天出现乱码,主要原因为微信客户端session过期,所以解码不了,刷新后即可正常使用
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
楼主解决了吗
有啊,我解出来部分乱码,无法格式化json,真是蛋疼
public static void init() throws Exception {
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
KeyGenerator.getInstance(KEY_NAME).init(128);
}
/**
* 生成iv
*/
public static AlgorithmParameters generateIV(byte[] iv) throws Exception {
// iv 为一个 16 字节的数组,这里采用和 iOS 端一样的构造方法,数据全为0
// Arrays.fill(iv, (byte) 0x00);
AlgorithmParameters params = AlgorithmParameters.getInstance(KEY_NAME);
params.init(new IvParameterSpec(iv));
return params;
* 生成解密
public static byte[] decrypt(byte[] encryptedData, byte[] keyBytes, AlgorithmParameters iv)
throws Exception {
Key key = new SecretKeySpec(keyBytes, KEY_NAME);
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
// 设置为解密模式
cipher.init(Cipher.DECRYPT_MODE, key, iv);
return cipher.doFinal(encryptedData);
有啊。现在开始出现乱码了
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我也遇到过,前一天正常的调试,今天出现乱码,主要原因为微信客户端session过期,所以解码不了,刷新后即可正常使用
楼主解决了吗
有啊,我解出来部分乱码,无法格式化json,真是蛋疼
public static void init() throws Exception {
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
KeyGenerator.getInstance(KEY_NAME).init(128);
}
/**
* 生成iv
*/
public static AlgorithmParameters generateIV(byte[] iv) throws Exception {
// iv 为一个 16 字节的数组,这里采用和 iOS 端一样的构造方法,数据全为0
// Arrays.fill(iv, (byte) 0x00);
AlgorithmParameters params = AlgorithmParameters.getInstance(KEY_NAME);
params.init(new IvParameterSpec(iv));
return params;
}
/**
* 生成解密
*/
public static byte[] decrypt(byte[] encryptedData, byte[] keyBytes, AlgorithmParameters iv)
throws Exception {
Key key = new SecretKeySpec(keyBytes, KEY_NAME);
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
// 设置为解密模式
cipher.init(Cipher.DECRYPT_MODE, key, iv);
return cipher.doFinal(encryptedData);
}
}
有啊。现在开始出现乱码了