diff --git a/src/en/animekai/src/eu/kanade/tachiyomi/animeextension/en/animekai/AnimekaiDecoder.kt b/src/en/animekai/src/eu/kanade/tachiyomi/animeextension/en/animekai/AnimekaiDecoder.kt index 0036090c..67f80eba 100644 --- a/src/en/animekai/src/eu/kanade/tachiyomi/animeextension/en/animekai/AnimekaiDecoder.kt +++ b/src/en/animekai/src/eu/kanade/tachiyomi/animeextension/en/animekai/AnimekaiDecoder.kt @@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.animeextension.en.animekai import android.util.Base64 import java.net.URLEncoder import java.nio.charset.StandardCharsets -import java.security.MessageDigest import javax.crypto.Cipher import javax.crypto.spec.IvParameterSpec import javax.crypto.spec.SecretKeySpec @@ -22,27 +21,37 @@ class AnimekaiDecoder { } private fun encrypt(text: String): String { - val keyBytes = decodeBase64(SECRET) - val ivSpec = IvParameterSpec(IV.toByteArray(StandardCharsets.UTF_8)) - val keySpec = SecretKeySpec(keyBytes, "AES") + return try { + val keyBytes = decodeBase64(SECRET) + val ivSpec = IvParameterSpec(IV.toByteArray(StandardCharsets.UTF_8)) + val keySpec = SecretKeySpec(keyBytes, "AES") - val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding") - cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec) + val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding") + cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec) - val encrypted = cipher.doFinal(text.toByteArray(StandardCharsets.UTF_8)) - return encodeBase64(encrypted) + val encrypted = cipher.doFinal(text.toByteArray(StandardCharsets.UTF_8)) + encodeBase64(encrypted) + } catch (e: Exception) { + e.printStackTrace() + "" // Return an empty string on failure + } } private fun decrypt(base64Data: String): String { - val keyBytes = decodeBase64(SECRET) - val ivSpec = IvParameterSpec(IV.toByteArray(StandardCharsets.UTF_8)) - val keySpec = SecretKeySpec(keyBytes, "AES") + return try { + val keyBytes = decodeBase64(SECRET) + val ivSpec = IvParameterSpec(IV.toByteArray(StandardCharsets.UTF_8)) + val keySpec = SecretKeySpec(keyBytes, "AES") - val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding") - cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec) + val cipher = Cipher.getInstance("AES/CBC/PKCS5Padding") + cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec) - val decrypted = cipher.doFinal(decodeBase64(base64Data)) - return String(decrypted, StandardCharsets.UTF_8) + val decrypted = cipher.doFinal(decodeBase64(base64Data)) + String(decrypted, StandardCharsets.UTF_8) + } catch (e: Exception) { + e.printStackTrace() + "" // Return an empty string on failure + } } companion object { @@ -57,4 +66,4 @@ class AnimekaiDecoder { return Base64.encodeToString(data, Base64.NO_WRAP) } } -} \ No newline at end of file +}