Я пытаюсь зашифровать входной поток от glide.
Я преобразовал входной поток в байтовый массив и передал его в своем методе шифрования:
fun encrypt(input: ByteArray): ByteArray {
Log.e("TAG", "inputsize: ${input.size}")
val iv = ByteArray(KeyStoreHelper.IV_SIZE)
val secureRandom = SecureRandom()
secureRandom.nextBytes(iv)
val c = Cipher.getInstance(KeyStoreHelper.AES_MODE)
c.init(Cipher.ENCRYPT_MODE, getKey(), GCMParameterSpec(KeyStoreHelper.GCM_SIZE, iv))
Log.e("TAG", "outputsize: ${c.getOutputSize(input.size)}")
val encodedBytes = c.doFinal(input)
Log.e("TAG", "encodedBytesSize: ${encodedBytes.size}")
val byteBuffer = ByteBuffer.allocate( iv.size + encodedBytes.size)
byteBuffer.put(iv)
byteBuffer.put(encodedBytes)
Log.e("TAG", "byteBuffer: ${byteBuffer.array().size}")
return byteBuffer.array()
}
Журналы выглядят так:
inputsize: 750683
outputsize: 750699
encodedBytesSize: 95339
byteBuffer: 95351
Как вы можете видеть, байтовый массив зашифрованных изображений очень мал, и я не понимаю, почему - если я пытаюсь зашифровать строки или изображения меньшего размера (около 100–200 КБ), он работает как шарм.
Спасибо за помощь!
С уважением, Том