안드로이드/개발관련(Kotlin)
안드로이드 Sha256 Hash화
닉네임못짓는사람
2023. 2. 27. 20:04
반응형
이번 글에선 Sha256알고리즘을 사용해 메시지의 Hash값을 구하는 법에 대해 알아보도록 하자.
fun getSign(input: String): String{
val hash: ByteArray
try{
val md = MessageDigest.getInstance("SHA-256")
md.update(input.toByteArray())
hash = md.digest()
}catch (e: CloneNotSupportedException){
throw DigestException("couldn't make digest of patial content")
}
return Base64Utils.encode(hash)
}
Hash화는 매우 간단하게 짧은 코드로 끝낼 수 있다.
먼저 ByteArray변수인 hash를 선언해준다. 이곳에 hash값이 들어가게된다.
다음은 MessageDigest객체인 md를 선언해주는데 이때 getInstance에 우리가 사용할 hash알고리즘이 들어간다.
우리는 Sha256을 사용한다고 했으니 SHA-256이라고 넣어주자.
다음은 md.update에 ByteArray를 넣어줘야 하는데, 여기에 들어가는게 우리가 Hash값을 구할 원본 메시지다.
함수에 들어오는 input변수를 여기에 넣어서 hash값을 구해주자.
마지막으로 hash변수에 md.digest()로 Hash값을 넣어주면 끝이난다.
hash는 ByteArray이기 때문에 이 값을 문자열로 보고싶으면 Base64Utils.encode를 사용해주면 된다.
반응형