node/benchmark/crypto/create-hmac.js
Filip Skokan 8fa5954569
crypto: use EVP_MAC for HMAC on OpenSSL >=3
Closes: https://github.com/nodejs/node/issues/59493
Signed-off-by: Filip Skokan <panva.ip@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/63942
Fixes: https://github.com/nodejs/node/issues/59493
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2026-06-19 07:50:57 +00:00

24 lines
533 B
JavaScript

'use strict';
const common = require('../common.js');
const { createHmac } = require('crypto');
const assert = require('assert');
const bench = common.createBenchmark(main, {
n: [1e5],
algo: ['sha1', 'sha256', 'sha512'],
keylen: [0, 16, 64, 1024],
});
function main({ n, algo, keylen }) {
const key = Buffer.alloc(keylen, 'k');
const hmacs = new Array(n);
bench.start();
for (let i = 0; i < n; ++i) {
hmacs[i] = createHmac(algo, key);
}
bench.end(n);
assert.strictEqual(typeof hmacs[n - 1], 'object');
}