SHA256 ruby kotlin
### Ruby
key = "this_is_secret_key" data = "helloworld" mac = OpenSSL::HMAC.hexdigest("SHA256", key, data) #=> "cddb0db23f469c8bf072b21fd837149bd6ace9ab771cceef14c9e517cc93282e"
### Run
irb(main):002:0> key = "this_is_secret_key" => "this_is_secret_key" irb(main):003:0> data = "helloworld" irb(main):004:0> mac = OpenSSL::HMAC.hexdigest("SHA256", key, data) => "eec57554e0f14dc79d44b76d867a76ceb46383e59e3d906563db1fab347ffc64"
### Kotlin
import org.apache.commons.codec.binary.Hex import javax.crypto.Mac import javax.crypto.spec.SecretKeySpec fun main(args: Array<String>) { val key = "this_is_secret_key" val data = "helloworld" val signature = createSignature(data, key) println(signature) } fun createSignature( data: String, key: String): String { val sha256Hmac = Mac.getInstance("HmacSHA256") val secretKey = SecretKeySpec(key.toByteArray(), "HmacSHA256") sha256Hmac.init(secretKey) return Hex.encodeHexString(sha256Hmac.doFinal(data.toByteArray())) } // https://shareablecode.com/snippets/how-to-generate-hmac-sha-256-signature-in-kotlin-Gz4w-vcDR
### Run
eec57554e0f14dc79d44b76d867a76ceb46383e59e3d906563db1fab347ffc64 Process finished with exit code 0