UNPKG

hyperdht

Version:
29 lines (24 loc) 635 B
const sodium = require('sodium-universal') const b4a = require('b4a') function hash (data) { const out = b4a.allocUnsafe(32) sodium.crypto_generichash(out, data) return out } function unslabbedHash (data) { const out = b4a.allocUnsafeSlow(32) sodium.crypto_generichash(out, data) return out } function createKeyPair (seed) { const publicKey = b4a.alloc(32) const secretKey = b4a.alloc(64) if (seed) sodium.crypto_sign_seed_keypair(publicKey, secretKey, seed) else sodium.crypto_sign_keypair(publicKey, secretKey) return { publicKey, secretKey } } module.exports = { hash, unslabbedHash, createKeyPair }