Added sha2 hashes in common and native and test

This commit is contained in:
Ugljesa Jovanovic authored and Ugljesa Jovanovic committed 2020-08-31 20:44:37 +02:00
1 parent 1878144b8f
commit 15be707114
7 files changed
+313 -4

No files matched your search

@@ -7,10 +7,18 @@ package com.ionspin.kotlin.crypto.generichash
*/
val crypto_generichash_BYTES = 32
val crypto_generichash_blake2b_BYTES_MIN = 16
val crypto_generichash_blake2b_BYTES_MAX = 64
val crypto_generichash_blake2b_BYTES = 32
val crypto_generichash_blake2b_KEYBYTES_MIN = 16
val crypto_generichash_blake2b_KEYBYTES_MAX = 64
val crypto_generichash_blake2b_KEYBYTES = 32
val crypto_generichash_blake2b_SALTBYTES = 16
expect class GenericHashStateInternal
data class GenericHashState(val hashLength: Int, val internalState: GenericHashStateInternal)
expect class GenericHashStateInternal
expect object GenericHash {
@@ -21,6 +29,15 @@ expect object GenericHash {
fun genericHashFinal(state : GenericHashState) : UByteArray
fun genericHashKeygen() : UByteArray
// ---- Not present in LazySodium nor libsodium.js
// fun blake2b(message : UByteArray, requestedHashLength: Int, key : UByteArray? = null) : UByteArray
//
// fun blake2bInit(requestedHashLength: Int, key : UByteArray? = null) : Blake2bState
// fun blake2bUpdate(state: GenericHashState, messagePart : UByteArray)
// fun blake2bFinal(state : GenericHashState) : UByteArray
//
// fun blake2bKeygen() : UByteArray
}
@@ -0,0 +1,31 @@
package com.ionspin.kotlin.crypto.hash
/**
* Created by Ugljesa Jovanovic
* ugljesa.jovanovic@ionspin.com
* on 31-Aug-2020
*/
val crypto_hash_BYTES = 64
val crypto_hash_sha256_BYTES = 32
val crypto_hash_sha512_BYTES = 64
expect class Sha256State
expect class Sha512State
expect object Hash {
fun hash(data: UByteArray) : UByteArray
fun sha256(data: UByteArray) : UByteArray
fun sha256Init() : Sha256State
fun sha256Update(state: Sha256State, data : UByteArray)
fun sha256Final(state : Sha256State) : UByteArray
fun sha512(data: UByteArray) : UByteArray
fun sha512Init() : Sha512State
fun sha512Update(state: Sha512State, data : UByteArray)
fun sha512Final(state : Sha512State) : UByteArray
}