Xwite 3 лет назад
Родитель
Сommit
5fcca4e2cd

+ 7 - 7
app/src/main/assets/help/jsHelp.md

@@ -197,7 +197,7 @@ java.createSymmetricCrypto(transformation, key, iv)
 >解密加密参数 data支持ByteArray|Base64String|HexString|InputStream
 ```
 //解密为ByteArray String
-cipher.decrypt(data, charset: String? = "UTF8")
+cipher.decrypt(data)
 cipher.decryptStr(data)
 //加密为ByteArray Base64字符 HEX字符
 cipher.encrypt(data)
@@ -215,15 +215,15 @@ java.createAsymmetricCrypto(transformation)
 
 ```
 > 解密加密参数 data支持ByteArray|Base64String|HexString|InputStream  
->  keyType: 1 使用公钥 2 使用私钥
+>  usePublicKey: true 使用公钥 false 使用私钥
 ```
 //解密为ByteArray String
-cipher.decrypt(data, keyType)
-cipher.decryptStr(data, keyType)
+cipher.decrypt(data, usePublicKey)
+cipher.decryptStr(data, usePublicKey)
 //加密为ByteArray Base64字符 HEX字符
-cipher.encrypt(data, keyType)
-cipher.encryptBase64(data, keyType)
-cipher.encryptHex(data, keyType)
+cipher.encrypt(data, usePublicKey)
+cipher.encryptBase64(data, usePublicKey)
+cipher.encryptHex(data, usePublicKey)
 ```
 * 签名
 > 输入参数 key 支持ByteArray|**Utf8String**

+ 18 - 19
app/src/main/java/io/legado/app/help/crypto/AsymmetricCrypto.kt

@@ -23,33 +23,32 @@ class AsymmetricCrypto(algorithm: String) : HutoolAsymmetricCrypto(algorithm) {
     }
     fun setPublicKey(key: String): AsymmetricCrypto = setPublicKey(key.encodeToByteArray())
 
-    private fun getKeyType(keyType: Int): KeyType {
+    private fun getKeyType(usePublicKey: Boolean): KeyType {
         return when {
-            keyType == 1 -> KeyType.PublicKey
-            keyType == 2 -> KeyType.PrivateKey
-            else -> throw IllegalArgumentException("Unexpected keyType:\n 1 -> use publicKey\n 2 -> use PrivateKey")
+            usePublicKey == true -> KeyType.PublicKey
+            else -> KeyType.PrivateKey
         }
     }
 
-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 decrypt(data: ByteArray, usePublicKey: Boolean): ByteArray = decrypt(data, getKeyType(usePublicKey))
+    fun decrypt(data: String, usePublicKey: Boolean): ByteArray = decrypt(data, getKeyType(usePublicKeye))
+    fun decrypt(data: InputStream, usePublicKey: Boolean): ByteArray = decrypt(data, getKeyType(usePublicKey))
 
-    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 decryptStr(data: ByteArray, usePublicKey: Boolean): String = decryptStr(data, getKeyType(usePublicKey))
+    fun decryptStr(data: String, usePublicKey: Boolean): String = decryptStr(data, getKeyType(usePublicKey))
+    fun decryptStr(data: InputStream, usePublicKey: Boolean): String = decryptStr(data, getKeyType(usePublicKey))
     
-    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 encrypt(data: ByteArray, usePublicKey: Boolean): ByteArray = encrypt(data, getKeyType(usePublicKey))
+    fun encrypt(data: String, usePublicKey: Boolean): ByteArray = encrypt(data, getKeyType(usePublicKey))
+    fun encrypt(data: InputStream, usePublicKey: Boolean): ByteArray = encrypt(data, getKeyType(usePublicKey))
 
-    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 encryptHex(data: ByteArray, usePublicKey: Boolean): String = encryptHex(data, getKeyType(usePublicKey))
+    fun encryptHex(data: String, usePublicKey: Boolean): String = encryptHex(data, getKeyType(usePublicKey))
+    fun encryptHex(data: InputStream, usePublicKey: Boolean): String = encryptHex(data, getKeyType(usePublicKey))
 
-    fun encryptBase64(data: ByteArray, keyType: Int): String =encryptBase64(data, getKeyType(keyType))
-    fun encryptBase64(data: String, keyType: Int): String =encryptBase64(data, getKeyType(keyType))
-    fun encryptBase64(data: InputStream, keyType: Int): String =encryptBase64(data, getKeyType(keyType))
+    fun encryptBase64(data: ByteArray, usePublicKey: Boolean): String =encryptBase64(data, getKeyType(usePublicKey))
+    fun encryptBase64(data: String, usePublicKey: Boolean): String =encryptBase64(data, getKeyType(usePublicKey))
+    fun encryptBase64(data: InputStream, usePublicKey: Boolean): String =encryptBase64(data, getKeyType(usePublicKey))