我具有以下代码来发送消息:
function sendMessage(data) {
data.version = clientVersion;
var message = { data: CryptoJS.AES.encrypt(JSON.stringify(data), system.Authentication.SendAuth, { mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7, iv: system.Authentication.Sendiv }).toString() };
return JSON.stringify(message);
}
这在开发人员模式下工作正常。 Expo应用程序发送加密的消息并正确解密。但是,在生产模式下,加密代码的发送和接收没有问题,但是当服务器解密时,我们将得到一个负的sigBytes数。因此解密失败。
这是从expo的SDK 27更新到SDK 31时发生的。