mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-16 13:23:47 +00:00
fixes
This commit is contained in:
parent
78a7a3546a
commit
60c21002e1
@ -1,7 +1,19 @@
|
|||||||
package dev.inmo.tgbotapi.utils
|
package dev.inmo.tgbotapi.utils
|
||||||
|
|
||||||
|
import dev.inmo.micro_utils.crypto.SourceBytes
|
||||||
import dev.inmo.micro_utils.crypto.SourceString
|
import dev.inmo.micro_utils.crypto.SourceString
|
||||||
|
|
||||||
internal expect fun SourceString.hmacSha256(key: String): String
|
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()
|
||||||
|
@ -3,6 +3,4 @@ package dev.inmo.tgbotapi.utils
|
|||||||
import dev.inmo.micro_utils.crypto.CryptoJS
|
import dev.inmo.micro_utils.crypto.CryptoJS
|
||||||
import dev.inmo.micro_utils.crypto.SourceString
|
import dev.inmo.micro_utils.crypto.SourceString
|
||||||
|
|
||||||
actual fun SourceString.hmacSha256(key: String) = CryptoJS.asDynamic().HmacSHA256(this, key).unsafeCast<String>()
|
actual fun SourceString.hmacSha256(key: String) = CryptoJS.asDynamic().HmacSHA256(this, key).toString().unsafeCast<String>()
|
||||||
|
|
||||||
actual fun SourceString.hex() = CryptoJS.asDynamic().format.Hex(this).unsafeCast<String>()
|
|
||||||
|
@ -1,22 +1,9 @@
|
|||||||
package dev.inmo.tgbotapi.utils
|
package dev.inmo.tgbotapi.utils
|
||||||
|
|
||||||
import dev.inmo.micro_utils.crypto.SourceBytes
|
|
||||||
import dev.inmo.micro_utils.crypto.SourceString
|
import dev.inmo.micro_utils.crypto.SourceString
|
||||||
import javax.crypto.Mac
|
import javax.crypto.Mac
|
||||||
import javax.crypto.spec.SecretKeySpec
|
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 {
|
actual fun SourceString.hmacSha256(key: String): String {
|
||||||
val mac = Mac.getInstance("HmacSHA256")
|
val mac = Mac.getInstance("HmacSHA256")
|
||||||
|
|
||||||
@ -25,5 +12,3 @@ actual fun SourceString.hmacSha256(key: String): String {
|
|||||||
|
|
||||||
return mac.doFinal(toByteArray()).hex()
|
return mac.doFinal(toByteArray()).hex()
|
||||||
}
|
}
|
||||||
|
|
||||||
actual fun SourceString.hex(): String = toByteArray().hex()
|
|
||||||
|
Loading…
Reference in New Issue
Block a user