我需要解密 6 MB 字节 []。
Cipher pbeCipher = Cipher.getInstance("AES/CTS/NoPadding");
// Initialize cipher
pbeCipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec);
doFinal(data);
这段代码在我的 Galaxy 2 上运行良好,但是当我在只有 16mb 堆的 HTC Legend 上运行它时,我得到了 OutOfMemory 异常。
所以我决定将我的数据拆分成块,但可能我做错了,因为这段代码不起作用。你能帮我找出我做错了什么吗?
byte[] result = null;
while (data.length> offset )
{
concatenateByteArrays(result, cipher.update(Arrays.copyOfRange(data, offset, offset+MB)));
offset+=MB;
}
return concatenateByteArrays(result,cipher.doFinal());