feat: add digest encryption method

pull/1526/head
olixina 3 years ago
parent bcc2c5b219
commit b4ffa4d128
  1. 29
      app/src/main/java/io/legado/app/help/JsExtensions.kt

@ -3,6 +3,7 @@ package io.legado.app.help
import android.net.Uri import android.net.Uri
import android.util.Base64 import android.util.Base64
import androidx.annotation.Keep import androidx.annotation.Keep
import cn.hutool.crypto.digest.DigestUtil
import cn.hutool.crypto.symmetric.AES import cn.hutool.crypto.symmetric.AES
import cn.hutool.crypto.symmetric.DESede import cn.hutool.crypto.symmetric.DESede
import io.legado.app.BuildConfig import io.legado.app.BuildConfig
@ -760,4 +761,32 @@ interface JsExtensions {
).decryptStr(data) ).decryptStr(data)
} }
/**
* 生成摘要并转为16进制字符串
*
* @param data 被摘要数据
* @param algorithm 签名算法
* @return 16进制字符串
*/
fun digestHex(
data: String,
algorithm: String,
): String? {
return DigestUtil.digester(algorithm).digestHex(data)
}
/**
* 生成摘要并转为Base64字符串
*
* @param data 被摘要数据
* @param algorithm 签名算法
* @return Base64字符串
*/
fun digestBase64Str(
data: String,
algorithm: String,
): String? {
return Base64.encodeToString(DigestUtil.digester(algorithm).digest(data), Base64.NO_WRAP)
}
} }

Loading…
Cancel
Save