Julius
01/22/2020, 1:55 PMval HEX_CHARS = "0123456789abcdef"
val bytes = MessageDigest.getInstance("SHA-1").digest(stringToHash.toByteArray())
val result = StringBuilder(bytes.size * 2)
bytes.forEach {
val i = it.toInt()
result.append(HEX_CHARS[i shr 4 and 0x0f])
result.append(HEX_CHARS[i and 0x0f])
}
return result.toString()
iOS:
val input = stringToHash.encodeToByteArray()
val digest = UByteArray(CC_SHA1_DIGEST_LENGTH)
input.usePinned { inputPinned ->
digest.usePinned { digestPinned ->
CC_SHA1(inputPinned.addressOf(0), input.size.convert(), digestPinned.addressOf(0))
}
}
return digest.joinToString(separator = "") { it.toString(16) }
Can Orhan
01/22/2020, 4:50 PMolonho
01/27/2020, 1:23 PMimport platform.CoreCrypto.*
import kotlinx.cinterop.*
fun hash(stringToHash: String): String {
val input = stringToHash.encodeToByteArray()
val digest = UByteArray(CC_SHA1_DIGEST_LENGTH)
input.usePinned { inputPinned ->
digest.usePinned { digestPinned ->
CC_SHA1(inputPinned.addressOf(0), input.size.convert(), digestPinned.addressOf(0))
}
}
return digest.joinToString(separator = "") { it.toString(16) }
}
fun main() {
println(hash("123"))
}