# `Plug.Crypto.MessageVerifier`
[🔗](https://github.com/elixir-plug/plug_crypto/blob/v2.2.0/lib/plug/crypto/message_verifier.ex#L1)

`MessageVerifier` makes it easy to generate and verify messages
which are signed to prevent tampering.

For example, the cookie store uses this verifier to send data
to the client. The data can be read by the client, but cannot be
tampered with.

The message and its verification are base64url encoded and returned
to you.

The current algorithm used is HMAC-SHA, with SHA256, SHA384, and
SHA512 as supported digest types.

# `sign`

Signs a message according to the given secret.

# `verify`

Decodes and verifies the encoded binary was not tampered with.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
