/* eslint-disable no-console */ 'use strict' const Benchmark = require('benchmark') const crypto = require('../src') const suite = new Benchmark.Suite('key-stretcher') const keys = [] const ciphers = ['AES-128', 'AES-256', 'Blowfish'] const hashes = ['SHA1', 'SHA256', 'SHA512'] ;(async () => { const res = await crypto.keys.generateEphemeralKeyPair('P-256') const secret = await res.genSharedKey(res.key) ciphers.forEach((cipher) => hashes.forEach((hash) => { setup(cipher, hash, secret) })) suite .on('cycle', (event) => console.log(String(event.target))) .run({ async: true }) })() function setup (cipher, hash, secret) { suite.add(`keyStretcher ${cipher} ${hash}`, async (d) => { const k = await crypto.keys.keyStretcher(cipher, hash, secret) keys.push(k) d.resolve() }, { defer: true }) }