Yashotantra Academy logo
← Node.js theorytheory 0/50 · 0%
level 1
Curious · 0 XP
streak
0d
perfect
0
badges
0

100 XP to Apprentice

Web3 integration · hard

42. Signing and verifying data with crypto

HMACs, key pairs and message authentication.

1 min read3 questionsup to 50 XPtopic 42/50

Read in another language

AI translates the explanation and quiz text while preserving code and answer scoring.

`node:crypto` supports symmetric HMACs (shared-secret message authentication) and asymmetric key pairs (sign with a private key, verify with the public key) — the same pattern that underlies transaction signing on most blockchains, even though production wallet code typically uses a dedicated elliptic-curve library (secp256k1) rather than Node's generic crypto module.

js
import { createHmac, generateKeyPairSync, sign, verify } from "node:crypto";

// symmetric: both sides share a secret
const mac = createHmac("sha256", "shared-secret").update("payload").digest("hex");

// asymmetric: sign with private key, verify with public key
const { privateKey, publicKey } = generateKeyPairSync("ed25519");
const signature = sign(null, Buffer.from("payload"), privateKey);
const isValid = verify(null, Buffer.from("payload"), publicKey, signature);

The core idea to internalize: a signature proves the holder of a private key authorized a specific message, and anyone with the corresponding public key can verify that without ever seeing the private key.

How to study this topic

  1. 1. Read the explanation once end to end, skipping the code.
  2. 2. Re-read the code snippets and say out loud what each line does.
  3. 3. Answer the quiz without scrolling back — that is the real check.
  4. 4. Read every explanation, even for the answers you got right.

Scoring

  • · Up to 30 XP from quiz accuracy.
  • · +15 XP for a perfect first attempt.
  • · +5 XP while a 3-day streak is running.
  • · 75% or higher marks the topic complete.

Check your understanding

  1. 1. What does an HMAC require both parties to share?

  2. 2. In asymmetric signing, what key produces the signature?

  3. 3. What can anyone with the public key do?

Badges

First light
Pass your first topic
Sharp shooter
3 perfect first-try quizzes
On a roll
Study 3 days in a row
Week warrior
Study 7 days in a row
Grinder
Earn 500 XP
Deep diver
Earn 1500 XP