From 7d85a051f25d95fda9bd69743e20e8cfe224f061 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Wed, 15 Mar 2023 08:15:25 +0800 Subject: [PATCH] fix --- .../app/help/crypto/AsymmetricCrypto.kt | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/crypto/AsymmetricCrypto.kt b/app/src/main/java/io/legado/app/help/crypto/AsymmetricCrypto.kt index 2d9377d1e..0fc9a1c04 100644 --- a/app/src/main/java/io/legado/app/help/crypto/AsymmetricCrypto.kt +++ b/app/src/main/java/io/legado/app/help/crypto/AsymmetricCrypto.kt @@ -31,23 +31,24 @@ class AsymmetricCrypto(algorithm: String) : HutoolAsymmetricCrypto(algorithm) { } } - private fun cryptoDelegate( - data: Any, - func: (Any) -> T - ): T { - return when { - data is ByteArray -> func.invoke(data as ByteArray) - data is String -> func.invoke(data as String) - data is InputStream -> func.invoke(data as InputStream) - else -> throw IllegalArgumentException("Unexpected data input") - } - } + fun decrypt(data: ByteArray, keyType: Int): ByteArray? = decrypt(data, getKeyType(keyType)) + fun decrypt(data: String, keyType: Int): ByteArray? = decrypt(data, getKeyType(keyType)) + fun decrypt(data: InputStream, keyType: Int): ByteArray? = decrypt(data, getKeyType(keyType)) + + fun decryptStr(data: ByteArray, keyType: Int): String? = decryptStr(data, getKeyType(keyType)) } + fun decryptStr(data: String, keyType: Int): String? = decryptStr(data, getKeyType(keyType)) } + fun decryptStr(data: InputStream, keyType: Int): String? = decryptStr(data, getKeyType(keyType)) } - fun decrypt(data: Any, keyType: Int): ByteArray? = cryptoDelegate(data) { decrypt(it, getKeyType(keyType)) } - fun decryptStr(data: Any, keyType: Int): String? = cryptoDelegate(data) { decryptStr(it, getKeyType(keyType)) } - - fun encrypt(data: Any, keyType: Int): ByteArray? = cryptoDelegate(data) { encrypt(it, getKeyType(keyType)) } - fun encryptHex(data: Any, keyType: Int): String? = cryptoDelegate(data) { encryptHex(it, getKeyType(keyType)) } - fun encryptBase64(data: Any, keyType: Int): String? =cryptoDelegate(data) { encryptBase64(it, getKeyType(keyType)) } + fun encrypt(data: ByteArray, keyType: Int): ByteArray? = encrypt(data, getKeyType(keyType)) } + fun encrypt(data: String, keyType: Int): ByteArray? = encrypt(data, getKeyType(keyType)) } + fun encrypt(data: InputStream, keyType: Int): ByteArray? = encrypt(data, getKeyType(keyType)) } + + fun encryptHex(data: ByteArray, keyType: Int): String? = encryptHex(data, getKeyType(keyType)) } + fun encryptHex(data: String, keyType: Int): String? = encryptHex(data, getKeyType(keyType)) } + fun encryptHex(data: InputStream, keyType: Int): String? = encryptHex(data, getKeyType(keyType)) } + + fun encryptBase64(data: Any, keyType: Int): String? =encryptBase64(data, getKeyType(keyType)) } + fun encryptBase64(data: Any, keyType: Int): String? =encryptBase64(data, getKeyType(keyType)) } + fun encryptBase64(data: Any, keyType: Int): String? =encryptBase64(data, getKeyType(keyType)) } } \ No newline at end of file