libp2p-crypto
Version:
Crypto primitives for libp2p
18 lines (14 loc) • 419 B
JavaScript
const crypto = require('crypto')
const lengths = require('./lengths')
exports.create = async function (hash, secret) { // eslint-disable-line require-await
const res = {
async digest (data) { // eslint-disable-line require-await
const hmac = crypto.createHmac(hash.toLowerCase(), secret)
hmac.update(data)
return hmac.digest()
},
length: lengths[hash]
}
return res
}