Yet Another OTP generator
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

Utils.kt 439B

123456789101112131415
  1. package com.chameth.yaotp.algos
  2. import javax.crypto.Mac
  3. import javax.crypto.spec.SecretKeySpec
  4. private const val HMAC_SHA1_ALGORITHM = "HmacSHA1"
  5. fun hmacSha1(keyMaterial: ByteArray, input: ByteArray): ByteArray {
  6. return with(Mac.getInstance(HMAC_SHA1_ALGORITHM)) {
  7. init(getKey(keyMaterial))
  8. doFinal(input)
  9. }
  10. }
  11. private fun getKey(material: ByteArray) = SecretKeySpec(material, HMAC_SHA1_ALGORITHM)