in blockmap/src/main/kotlin/com/jetbrains/plugin/blockmap/core/FileHash.kt [12:22]
fun makeFileHash(source: InputStream, algorithm: String): String {
val digest = MessageDigest.getInstance(algorithm)
source.buffered().use { input ->
DigestInputStream(input, digest).use { digestInputStream ->
val buffer = ByteArray(1024 * 8)
while (digestInputStream.read(buffer) != -1) {
}
}
}
return Base64.getEncoder().encodeToString(digest.digest())
}