Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
web-crypto
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15
Browser:
Safari 18
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
7 months ago
Test name
Executions per second
sha512
619056.4 Ops/sec
sha256
636698.1 Ops/sec
Script Preparation code:
async function sign256(path, secret) { const encoder = new TextEncoder(); const data = encoder.encode(path); const key = await crypto.subtle.importKey( 'raw', encoder.encode(secret), { name: 'HMAC', hash: 'SHA-256' }, false, ['sign'] ); const signature = await crypto.subtle.sign('HMAC', key, data); const hashArray = Array.from(new Uint8Array(signature)); const base64Hash = btoa(String.fromCharCode(...hashArray)) return base64Hash + '/' + path; } async function sign512(path, secret) { const encoder = new TextEncoder(); const data = encoder.encode(path); const key = await crypto.subtle.importKey( 'raw', encoder.encode(secret), { name: 'HMAC', hash: 'SHA-512' }, false, ['sign'] ); const signature = await crypto.subtle.sign('HMAC', key, data); const hashArray = Array.from(new Uint8Array(signature)); const base64Hash = btoa(String.fromCharCode(...hashArray)) return base64Hash + '/' + path; }
Tests:
sha512
sign512('500x500/top/raw.githubusercontent.com/cshum/imagor/master/testdata/gopher.png', 'mysecret').then(result => result)
sha256
sign256('500x500/top/raw.githubusercontent.com/cshum/imagor/master/testdata/gopher.png', 'mysecret').then(result => result)