_hmac(algorithm, key, ...buffers) {
        algorithm = algorithm.toLowerCase();
        const hashes = crypto.getHashes();
        if (hashes.indexOf(algorithm) < 0) throw new Error(`HMAC algorithm '${algorithm}' not supported!`);

        const hmac = crypto.createHmac(algorithm, key);
        hmac.update(Buffer.concat(buffers));
        return hmac.digest();
    }
Calculate an HMAC of the concatenated buffers with the given algorithm and key
@param {string} algorithm - The algorithm.
@param {string} key - The key
@param {Array.<Buffer>} buffers - The buffer to concat and HMAC
@returns {Buffer} The HMAC
@private