HMAC
- Hash-based Message Authentication Code
- 메세지의 변조 여부를 판별하는 방법
- 송신자와 수신자가 미리 나눠 가진 공통의 Key를 기준으로 해싱을 수행한다.
Kotlin Code Sample
import java.util.Base64
import javax.crypto.Mac
import javax.crypto.spec.SecretKeySpec
const val ALGORITHM = "HmacSHA256"
fun createHmac(message: String, key: String): String {
val keySpec = SecretKeySpec(Base64.getUrlDecoder().decode(key), ALGORITHM)
val mac = Mac.getInstance(ALGORITHM)
mac.init(keySpec)
val hmac = Base64.getUrlEncoder().withoutPadding().encodeToString(mac.doFinal(message.toByteArray()))
return hmac
}
Reference