Hello World

Be Happy!

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
#ruby (13) #irb (3) #java (2) #kotlin (1) #sha256 (1) #hmac (1) #hash (1)
List