Poly1305 is a fast, secure message authentication code (MAC)
designed to detect accidental or malicious changes to messages.
It produces a 16-byte tag for a message using a 32-byte secret key.
Poly1305 is commonly used as the authentication part of the ChaCha20-Poly1305 AEAD
construction.
Below is the Poly1305 MAC Generator and Verifier tool allows users
to quickly compute authentication tags for messages, verify tags received from APIs
or secure communication systems,
and validate message integrity in real time.
If your system requires a MAC algorithm with broader library support
or standardized hash functions, you may also use:
HMAC-SHA256 Generator
– Widely supported MAC based on cryptographic hash functions
We do not store, log any key you enter.
This tool is intended for personal and educational use.
We suggest not to use online tools to protect real production secrets.
Key Features
You can generate a Poly1305 tag (MAC) for a text input or file using a
32-byte key (HEX).
You can verify that a given tag matches a message and key —
verification returns valid/invalid.
For real-world systems prefer AEAD (ChaCha20-Poly1305) to avoid key reuse
pitfalls.
PolyMac is not suitable for password storage or password hashing.
If you are storing user passwords or deriving encryption keys from passwords,
use a password hashing function instead:
Choose Generate or Verify tab: Pick whether you want to create
a tag or check an existing tag for a message/file.
Provide a 32-byte key (HEX): A 256-bit key; you can paste your
own or use the Generate Key button to get a new key in hex format. Keep the key
secret.
Provide message or file: Either type/paste the exact message
into the text box or upload a file to MAC the file bytes. The MAC covers the
exact bytes — whitespace and encodings matter.
Generate tag: Click Generate MAC. The tool returns a 16-byte
tag (displayed as HEX) you can copy or download.
Verify: To verify, select the Verify tab, enter the same key
and the tag (HEX), and either paste the original message or upload the same
file. The tool will respond VALID or INVALID.
Practical use cases
1) API message integrity: When two services exchange messages, they
can attach a Poly1305 tag to each payload. The receiver verifies the tag before
processing to ensure the payload is authentic.
2) Signed file download validation: For secure file transfer
between systems, the sender provides the file plus a Poly1305 tag. The receiver
verifies the tag after download to detect corruption or tampering.
3) Embedded systems & IoT: Resource-constrained devices benefit
from Poly1305’s speed. Use it to authenticate telemetry packets where CPU and memory
are limited.
4) Educational & debugging: Use this tool to learn how MACs work,
to generate test vectors, and to debug interoperability between libraries (server vs
browser implementations).