Horis 3 lat temu
rodzic
commit
d4821756da
1 zmienionych plików z 11 dodań i 2 usunięć
  1. 11 2
      app/src/main/java/io/legado/app/utils/MD5Utils.kt

+ 11 - 2
app/src/main/java/io/legado/app/utils/MD5Utils.kt

@@ -1,7 +1,9 @@
 package io.legado.app.utils
 package io.legado.app.utils
 
 
 import cn.hutool.crypto.digest.DigestUtil
 import cn.hutool.crypto.digest.DigestUtil
+import cn.hutool.crypto.digest.Digester
 import java.io.InputStream
 import java.io.InputStream
+import kotlin.concurrent.getOrSet
 
 
 /**
 /**
  * 将字符串转化为MD5
  * 将字符串转化为MD5
@@ -9,12 +11,19 @@ import java.io.InputStream
 @Suppress("unused")
 @Suppress("unused")
 object MD5Utils {
 object MD5Utils {
 
 
+    private val threadLocal = ThreadLocal<Digester>()
+
+    private val MD5Digester
+        get() = threadLocal.getOrSet {
+            DigestUtil.digester("MD5")
+        }
+
     fun md5Encode(str: String?): String {
     fun md5Encode(str: String?): String {
-        return DigestUtil.digester("MD5").digestHex(str)
+        return MD5Digester.digestHex(str)
     }
     }
 
 
     fun md5Encode(inputStream: InputStream): String {
     fun md5Encode(inputStream: InputStream): String {
-        return DigestUtil.digester("MD5").digestHex(inputStream)
+        return MD5Digester.digestHex(inputStream)
     }
     }
 
 
     fun md5Encode16(str: String): String {
     fun md5Encode16(str: String): String {