18 lines
530 B
Kotlin
18 lines
530 B
Kotlin
package top.tangyh.lamp.filing.utils
|
|
|
|
import java.io.InputStream
|
|
import java.security.MessageDigest
|
|
|
|
object HashUtil {
|
|
fun calculateFileHash(inputStream: InputStream): String {
|
|
val digest = MessageDigest.getInstance("SHA-256")
|
|
val buffer = ByteArray(8192)
|
|
var bytesRead: Int
|
|
|
|
while (inputStream.read(buffer).also { bytesRead = it } != -1) {
|
|
digest.update(buffer, 0, bytesRead)
|
|
}
|
|
|
|
return digest.digest().joinToString("") { "%02x".format(it) }
|
|
}
|
|
} |