Hide a message in an image
crypto_stego_hideHide a UTF-8 text message inside an image with LSB steganography, save it as a lossless PNG, and optionally encrypt it with a password for later reveal.
Instructions
Hide a text message inside an image (LSB steganography in R, G, B; the picture looks the same) and save it as a lossless PNG, optionally encrypted with a password (AES-256-GCM, PBKDF2-SHA256 600,000). Same bit layout as the website, so the PNG reveals at https://s3eidat.github.io/stego-image/ or with crypto_stego_reveal. Capacity ≈ width×height×3/8 − 10 bytes (−44 more when encrypted). Transparency is filled with white. The result is read back and checked before returning. Sending it through apps that recompress images (JPEG, chat apps) destroys the message. Web version: https://s3eidat.github.io/stego-image/
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| image | Yes | The cover image (PNG, JPEG, WebP…): a local file path (absolute, or relative to the server's --root) or base64 data (raw or a data: URI). | |
| output | No | Where to write the result: a file path, or a folder ending in "/". Default: the server output folder (a temp folder unless --out-dir is set). | |
| message | Yes | The text to hide (UTF-8). | |
| password | No | Optional password to encrypt the message. | |
| returnBase64 | No | Also return the output as base64 in the result (only for small files). Default false. |