mediumLow-Level Design

How does Node.js handle crypto operations efficiently without blocking the event loop?

967 views
01

Understand the problem

Explain how cryptographic operations utilize lower-level resources for high performance.

cryptosecuritylibuv
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Non-blocking password hash
import { pbkdf2 } from 'node:crypto';

// Async: runs on the thread pool, event loop keeps serving requests
function hash(pw, salt) {
  return new Promise((res, rej) =>
    pbkdf2(pw, salt, 310000, 32, 'sha256', (e, key) =>
      e ? rej(e) : res(key.toString('hex'))));
}
// ❌ pbkdf2Sync would freeze every concurrent request during the hash.
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.