Use message digest for faster comparison.

This commit is contained in:
Greyson Parrelli
2026-04-09 22:10:20 -04:00
committed by jeffrey-signal
parent bd89c7fc39
commit de584ccb7d

View File

@@ -23,6 +23,7 @@ import java.io.ByteArrayOutputStream
import java.io.EOFException
import java.io.IOException
import java.io.InputStream
import java.security.MessageDigest
import java.util.zip.GZIPInputStream
import javax.crypto.Cipher
import javax.crypto.CipherInputStream
@@ -145,7 +146,7 @@ class EncryptedBackupReader private constructor(
val calculatedMac = macStream.mac.doFinal()
val expectedMac = dataStream.readNBytesOrThrow(MAC_SIZE)
if (!calculatedMac.contentEquals(expectedMac)) {
if (!MessageDigest.isEqual(calculatedMac, expectedMac)) {
throw IOException("Invalid MAC!")
}
}