From ad627eee2fdca4780173333c5a36ab05640e9fa5 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Wed, 15 Mar 2023 07:40:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=9D=9E=E5=AF=B9=E7=A7=B0?= =?UTF-8?q?=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/help/crypto/AsymmetricCrypto.kt | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 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 687e64fc8..3da4e57c9 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,25 +31,23 @@ class AsymmetricCrypto(algorithm: String) : HutoolAsymmetricCrypto(algorithm) { } } - private fun cryptoDelegate( + private fun cryptoDelegate( data: Any, - keyType: Int, - func: (Any, KeyType) -> T - ): T { - val keyType = getKeyType(keyType) + func: (Any) -> T? + ): T? { return when { - data is ByteArray -> func.invoke(data, keyType) - data is String -> func.invoke(data, keyType) - data is InputStream -> func.invoke(data, keyType) + 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 -> null } } - fun decrypt(data: Any, keyType: Int): ByteArray? = cryptoDelegate(data, keyType, decrypt) - fun decryptStr(data: Any, keyType: Int): String? = cryptoDelegate(data, keyType, decryptStr) + 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, keyType, encrypt) - fun encryptHex(data: Any, keyType: Int): String? = cryptoDelegate(data, keyType, encryptHex) - fun encryptBase64(data: Any, keyType: Int): String? =cryptoDelegate(data, keyType, encryptBase64) + 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)) } } \ No newline at end of file