프로그래밍 검색 블로그

코틀린 파일 MD5 SHA1 SHA256 SHA512 본문

Android

코틀린 파일 MD5 SHA1 SHA256 SHA512

코딩조무사 2018. 5. 30. 23:11



import java.io.File import java.io.FileInputStream
import java.security.MessageDigest
import javax.xml.bind.DatatypeConverter
fun digest(file: File, engine: String) : String{
val md = MessageDigest.getInstance(engine)
FileInputStream(file).use { fi ->
val bytes = ByteArray(4096)
while (true) {
val length = fi.read(bytes)
if (length <= 0) {
break
}
md.update(bytes, 0, length)
}
val byteData = md.digest()
return DatatypeConverter.printHexBinary(byteData)
}
}
fun getMD5(file: File) = digest(file,"MD5")
fun getSHA1(file: File) = digest(file,"SHA1")
fun getSHA256(file: File) = digest(file,"SHA-256")
fun getSHA512(file: File) = digest(file,"SHA-512")

fun main(args: Array<String>) {
val file = File("test.txt")
println(getMD5(file))
println(getSHA1(file))
println(getSHA256(file))
println(getSHA512(file))
}


Comments