const sodium = require('sodium-universal')
const b4a = require('b4a')
module.exports = {
sign,
verify,
hash: blake2b
}
function sign (signable, keyPair) {
const signature = b4a.alloc(sodium.crypto_sign_BYTES)
sodium.crypto_sign_detached(signature, signable, keyPair.secretKey)
return signature
}
function verify (signable, signature, publicKey) {
return sodium.crypto_sign_verify_detached(signature, signable, publicKey)
}
function blake2b (data, output = b4a.alloc(32)) {
sodium.crypto_generichash(output, data)
return output
}