24 lines
728 B
JavaScript
Raw Normal View History

'use strict'
2017-07-22 10:57:27 -07:00
const nacl = require('tweetnacl')
2017-07-22 10:57:27 -07:00
exports.publicKeyLength = nacl.sign.publicKeyLength
exports.privateKeyLength = nacl.sign.secretKeyLength
exports.generateKey = async function () { // eslint-disable-line require-await
return nacl.sign.keyPair()
}
2017-07-22 10:57:27 -07:00
// seed should be a 32 byte uint8array
exports.generateKeyFromSeed = async function (seed) { // eslint-disable-line require-await
return nacl.sign.keyPair.fromSeed(seed)
}
exports.hashAndSign = async function (key, msg) { // eslint-disable-line require-await
return Buffer.from(nacl.sign.detached(msg, key))
}
exports.hashAndVerify = async function (key, sig, msg) { // eslint-disable-line require-await
return nacl.sign.detached.verify(msg, sig, key)
}