티스토리 뷰

728x90

해시 값 얻기

fun hashSHA256(msg: String) {
    val hash: ByteArray1
    try {
        val md = MessageDigest.getInstance("SHA-256")
        md.update(msg.toByteArray())
        hash = md.digest()
    } catch (e: CloneNotSupportedException) {
        throw DigestException("couldn't make digest of partial content");
    }

    return bytesToHex(hash)
}
hashSHA256("블랙핑크") // F8012FD952BA45AFE2942C061610F471BF047B43AF736AA65A28ABF692BED23E
hashSHA256("리사")    // 48681A7CF6535B38CB011E7838635FC5DDB2C435E97A0DAD984693C0E9750437

md.digest() 메서드로 생성되는 해시 값은 ByteArray형이다. 이것을 더 편하게 관리하기 위해 ByteArray를 Hex String으로 변환해주는 bytesToHex() 메서드를 사용한다. 

https://programmer-ririhan.tistory.com/19

 

만약 해시 값을 ByteArray형으로 얻고 싶다면 'return hash' 로 바꿔주면 된다. 

해시 값 비교하기

val msg = "블랙핑크"
hashSHA256("블랙핑크") == hashSHA256(msg) // true

 

MessageDigest

digest

 

open fun digest() : ByteArray

 

Return

ByteArray - the array of bytes for the resulting hash value

 

Reference

https://developer.android.com/reference/kotlin/java/security/MessageDigest

 

MessageDigest  |  Android 개발자  |  Android Developers

MessageDigest abstract class MessageDigest : MessageDigestSpi This MessageDigest class provides applications the functionality of a message digest algorithm, such as SHA-1 or SHA-256. Message digests are secure one-way hash functions that take arbitrary-si

developer.android.com

 

728x90

'Android > Kotlin' 카테고리의 다른 글

[Kotlin] ByteArray to Hex String  (0) 2020.04.16
[Android/Kotlin] Anko 라이브러리 추가  (0) 2020.04.16
[Android] 이미지  (0) 2020.04.16
댓글
공지사항
최근에 올라온 글