From b8729309342d083e45f8b75cc11f64f0c02e294b Mon Sep 17 00:00:00 2001 From: Sofie99 Date: Sat, 2 Sep 2023 05:01:45 +0700 Subject: [PATCH] comply --- .../cloudstream3/extractors/helper/AesHelper.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/helper/AesHelper.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/helper/AesHelper.kt index b948868d..b41eae52 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/helper/AesHelper.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/helper/AesHelper.kt @@ -13,14 +13,17 @@ import javax.crypto.spec.SecretKeySpec object AesHelper { + private const val HASH = "AES/CBC/PKCS5PADDING" + private const val KDF = "MD5" + fun cryptoAESHandler( data: String, pass: ByteArray, encrypt: Boolean = true, - padding: String = "AES/CBC/PKCS5PADDING", + padding: String = HASH, ): String? { val parse = AppUtils.tryParseJson(data) ?: return null - val (key, iv) = generateKeyAndIv(pass, parse.s.hexToByteArray()) ?: throw ErrorLoadingException("failed to generate key") + val (key, iv) = generateKeyAndIv(pass, parse.s.hexToByteArray()) ?: return null val cipher = Cipher.getInstance(padding) return if (!encrypt) { cipher.init(Cipher.DECRYPT_MODE, SecretKeySpec(key, "AES"), IvParameterSpec(iv)) @@ -35,11 +38,11 @@ object AesHelper { fun generateKeyAndIv( password: ByteArray, salt: ByteArray, - hashAlgorithm: String = "MD5", + hashAlgorithm: String = KDF, keyLength: Int = 32, ivLength: Int = 16, iterations: Int = 1 - ): List? { + ): Pair? { val md = MessageDigest.getInstance(hashAlgorithm) val digestLength = md.digestLength @@ -70,10 +73,7 @@ object AesHelper { generatedLength += digestLength } - return listOf( - generatedData.copyOfRange(0, keyLength), - generatedData.copyOfRange(keyLength, targetKeySize) - ) + return generatedData.copyOfRange(0, keyLength) to generatedData.copyOfRange(keyLength, targetKeySize) } catch (e: DigestException) { return null }