diff --git a/sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt b/sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt index bc2f39d..d0310dd 100644 --- a/sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt +++ b/sdk-update/src/main/java/com/xuqm/sdk/update/UpdateSDK.kt @@ -106,15 +106,20 @@ object UpdateSDK { * 计算文件的 SHA-256 哈希值(小写十六进制)。 */ private fun computeFileHash(file: File): String { - val digest = MessageDigest.getInstance("SHA-256") + val md = MessageDigest.getInstance("SHA-256") file.inputStream().use { input -> val buffer = ByteArray(8192) var read: Int while (input.read(buffer).also { read = it } != -1) { - digest.update(buffer, 0, read) + md.update(buffer, 0, read) } } - return digest.joinToString("") { "%02x".format(it) } + val bytes = md.digest() + val sb = StringBuilder(bytes.size * 2) + for (b in bytes) { + sb.append(String.format("%02x", b.toInt() and 0xFF)) + } + return sb.toString() } /**