Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
InsanusMokrassar committed Apr 29, 2022
1 parent 78a7a35 commit 60c2100
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
package dev.inmo.tgbotapi.utils

import dev.inmo.micro_utils.crypto.SourceBytes
import dev.inmo.micro_utils.crypto.SourceString

internal expect fun SourceString.hmacSha256(key: String): String
private val HEX_ARRAY = "0123456789abcdef".toCharArray()

internal expect fun SourceString.hex(): String
internal fun SourceBytes.hex(): String {
val hexChars = CharArray(size * 2)
for (j in indices) {
val v: Int = this[j].toInt() and 0xFF
hexChars[j * 2] = HEX_ARRAY[v ushr 4]
hexChars[j * 2 + 1] = HEX_ARRAY[v and 0x0F]
}
return hexChars.concatToString()
}

internal fun SourceString.hex(): String = encodeToByteArray().hex()
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,4 @@ package dev.inmo.tgbotapi.utils
import dev.inmo.micro_utils.crypto.CryptoJS
import dev.inmo.micro_utils.crypto.SourceString

actual fun SourceString.hmacSha256(key: String) = CryptoJS.asDynamic().HmacSHA256(this, key).unsafeCast<String>()

actual fun SourceString.hex() = CryptoJS.asDynamic().format.Hex(this).unsafeCast<String>()
actual fun SourceString.hmacSha256(key: String) = CryptoJS.asDynamic().HmacSHA256(this, key).toString().unsafeCast<String>()
Original file line number Diff line number Diff line change
@@ -1,22 +1,9 @@
package dev.inmo.tgbotapi.utils

import dev.inmo.micro_utils.crypto.SourceBytes
import dev.inmo.micro_utils.crypto.SourceString
import javax.crypto.Mac
import javax.crypto.spec.SecretKeySpec

val HEX_ARRAY = "0123456789ABCDEF".toCharArray()

private fun SourceBytes.hex(): String {
val hexChars = CharArray(size * 2)
for (j in indices) {
val v: Int = this[j].toInt() and 0xFF
hexChars[j * 2] = HEX_ARRAY[v ushr 4]
hexChars[j * 2 + 1] = HEX_ARRAY[v and 0x0F]
}
return String(hexChars)
}

actual fun SourceString.hmacSha256(key: String): String {
val mac = Mac.getInstance("HmacSHA256")

Expand All @@ -25,5 +12,3 @@ actual fun SourceString.hmacSha256(key: String): String {

return mac.doFinal(toByteArray()).hex()
}

actual fun SourceString.hex(): String = toByteArray().hex()

0 comments on commit 60c2100

Please sign in to comment.