@skybloxsystems/ticket-bot
Version:
27 lines (21 loc) • 622 B
JavaScript
const crypto = require('crypto');
const CryptoProvider = require('./CryptoProvider');
/**
* `CryptoProvider which uses the Node `crypto` package for its computations.
*/
class NodeCryptoProvider extends CryptoProvider {
/** @override */
computeHMACSignature(payload, secret) {
return crypto
.createHmac('sha256', secret)
.update(payload, 'utf8')
.digest('hex');
}
/** @override */
async computeHMACSignatureAsync(payload, secret) {
const signature = await this.computeHMACSignature(payload, secret);
return signature;
}
}
module.exports = NodeCryptoProvider;
;