Merge remote-tracking branch 'origin/master'

This commit is contained in:
kunfei
2023-03-14 23:05:50 +08:00
2 changed files with 17 additions and 37 deletions
+11 -4
View File
@@ -205,10 +205,14 @@ cipher.encryptBase64(data)
cipher.encryptHex(data)
```
* 非对称加密
> 输入参数密钥 支持ByteArray|**Utf8String**
> 输入参数 key支持ByteArray|**Utf8String**
```
//创建cipher
java.createAsymmetricCrypto(transformation, privateKey, publicKey)
java.createAsymmetricCrypto(transformation)
//设置密钥
.setPublicKey(key)
.setPrivateKey(key)
```
> 解密加密参数 data支持ByteArray|Base64String|HexString|InputStream
> keyType: 1 使用公钥 2 使用私钥
@@ -222,10 +226,13 @@ cipher.encryptBase64(data, keyType)
cipher.encryptHex(data, keyType)
```
* 签名
> 输入参数密钥 支持ByteArray|**Utf8String**
> 输入参数 key 支持ByteArray|**Utf8String**
```
//创建Sign
java.createSign(algorithm, privateKey, publicKey)
java.createSign(algorithm)
//设置密钥
.setPublicKey(key)
.setPrivateKey(key)
```
> 签名参数 data支持ByteArray|inputStream|String
```
@@ -3,10 +3,10 @@ package io.legado.app.help
import android.util.Base64
import cn.hutool.crypto.digest.DigestUtil
import cn.hutool.crypto.digest.HMac
import cn.hutool.crypto.asymmetric.AsymmetricCrypto
import cn.hutool.crypto.asymmetric.Sign
import cn.hutool.crypto.asymmetric.*
import cn.hutool.crypto.symmetric.SymmetricCrypto
import io.legado.app.utils.MD5Utils
import io.legado.app.utils.*
/**
* js加解密扩展类, 在js中通过java变量调用
@@ -72,43 +72,16 @@ interface JsEncodeUtils {
/* keys都为null时使用随机密钥 */
fun createAsymmetricCrypto(
transformation: String,
privateKey: ByteArray?,
publicKey: ByteArray?
transformation: String
): AsymmetricCrypto {
return AsymmetricCrypto(transformation, privateKey, publicKey)
return AsymmetricCrypto(transformation)
}
fun createAsymmetricCrypto(
transformation: String,
privateKey: String?,
publicKey: String?
): AsymmetricCrypto {
return createAsymmetricCrypto(
transformation,
privateKey?.encodeToByteArray(),
publicKey?.encodeToByteArray()
)
}
//******************签名************************//
fun createSign(
algorithm: String,
privateKey: String?,
publicKey: String?
algorithm: String
): Sign {
return createSign(
algorithm,
privateKey?.encodeToByteArray(),
publicKey?.encodeToByteArray()
)
}
fun createSign(
algorithm: String,
privateKey: ByteArray?,
publicKey: ByteArray?
): Sign {
return Sign(algorithm, privateKey, publicKey)
return Sign(algorithm)
}
//******************对称加密解密old************************//