mirror of
https://github.com/logos-storage/logos-storage-nim.git
synced 2026-01-03 14:03:10 +00:00
13 lines
479 B
Nim
13 lines
479 B
Nim
import bearssl/hash
|
|
|
|
proc bearSslHash*(hashClass: ptr HashClass, data: openArray[byte]): seq[byte] =
|
|
var compatCtx = HashCompatContext()
|
|
let buffSize = (hashClass[].desc shr HASHDESC_OUT_OFF) and HASHDESC_OUT_MASK
|
|
result = newSeq[byte](buffSize)
|
|
|
|
let hashClassPtrPtr: ConstPtrPtrHashClass = addr(compatCtx.vtable)
|
|
|
|
hashClass[].init(hashClassPtrPtr)
|
|
hashClass[].update(hashClassPtrPtr, addr data[0], data.len.uint)
|
|
hashClass[].`out`(hashClassPtrPtr, addr result[0])
|