Practical tools for system, network, security, and operations administrators.

SEC-C0005 · Cryptography & Encoding

HMAC Explained

Explain one HMAC you compute on a message you already hold. Do not put a real key in the note.

Updated 25 October 2026 · Explainer

This is an original planning guide. It is not a vendor manual, an official standard, or legal advice. Example addresses use documentation ranges. Review every command before you paste it.

What this hour is for

HMAC Explained names the message, the hash name, and that the key stays out of the ticket. prompt-for-this stands in for the key. The generator drafts a digest from what you type. It is not a signature of a message you did not write, and you do not publish the digest as proof.

Write the system you administer, the name of this change, and the time. A second change waits until this line has been read back.

The browser tool drafts text or reads a paste you already hold. It does not log in, it does not scan, and it does not apply.

192.0.2.10/24, gateway 192.0.2.1, 198.51.100.0/24, 203.0.113.0/24, and 2001:db8::/32 are documentation. example.com is a documentation name. A sample password is replaced.

The change you can finish

Apply nothing while you are writing the note. When the lab window opens, it is one change on the system named in the ticket. Read the draft, then the system, then decide.

Rollback is the file, the record, or the snapshot you saved first. You do not invent a rollback after the only copy is gone.

  1. Write the system you administer, or say this is a lab note.
  2. Name the hash.
  3. Type only a sample message.
  4. Leave the key as prompt-for-this.
  5. Do not publish the digest.
  6. Stop.

Mistakes that outlive the statement

HMAC Explained goes wrong in a small set of ways. The list is here so the ticket can forbid them before the window.

Decisions to write down

One decision for HMAC Explained: The message is a sample or one you hold. The key stays out of the note. The digest is a draft. Nothing is published. And one message is enough.

Checks before you call it done

Confirm this before you call the change done: The hash name is written. The key is absent. Nothing was published. The message is labelled a sample or owned. And a second person can say the hash name. If one of those fails, stop.

# HMAC note. Do not paste a key. Do not publish the digest.

Before you leave the system

HMAC Explained ends when the system in the note is the system in the ticket. If it is not, stop.

The draft stays a draft until a person has read the names in it. A generator does not log in, does not scan, and does not send mail.

192.0.2.10/24, gateway 192.0.2.1, 198.51.100.0/24, 203.0.113.0/24, and 2001:db8::/32 are documentation. example.com is a documentation name. They belong in the note. They are not values you publish because a draft included them.

prompt-for-this is a reminder that a secret is missing. It is not a password, a key, or a token you save. A sample password is replaced. It is not a password you keep.

One change is the window. If two things move and the result is wrong, you will not know which one did it.

If the same step fails twice, stop for the day. Restore the copy you took first.

A second person reads the scope aloud. If they cannot find it in the ticket, the note is not done.

This page is a planning guide. It is not legal advice, not an audit opinion, not a vendor manual, and not the text of a standard. You do not disable a security control to make a check pass. You do not use the page against a system you do not administer.

Tools for this guide

These tools run in the browser on this site. They do not log into your machines.

More in this cluster

The pillar for this page, and the next published pages filed with it.