# Stegano
[![builds.sr.ht status](https://builds.sr.ht/~cedric/stegano.svg)](https://builds.sr.ht/~cedric/stegano)
[![Workflow](https://github.com/cedricbonhomme/Stegano/workflows/Python%20application/badge.svg?style=flat-square)](https://github.com/cedricbonhomme/Stegano/actions?query=workflow%3A%22Python+application%22)
[Stegano](https://github.com/cedricbonhomme/Stegano), a pure Python Steganography
module.
Steganography is the art and science of writing hidden messages in such a way
that no one, apart from the sender and intended recipient, suspects the
existence of the message, a form of security through obscurity. Consequently,
functions provided by Stegano only hide messages, without encryption.
Steganography is often used with cryptography.
## Installation
```bash
$ poetry install stegano
```
You will be able to use Stegano in your Python programs.
If you only want to install Stegano as a command line tool:
```bash
$ pipx install stegano
```
pipx installs scripts (system wide available) provided by Python packages into
separate virtualenvs to shield them from your system and each other.
## Usage
A [tutorial](https://stegano.readthedocs.io) is available.
## Use Stegano as a library in your Python program
If you want to use Stegano in your Python program you just have to import the
appropriate steganography technique. For example:
```python
>>> from stegano import lsb
>>> secret = lsb.hide("./tests/sample-files/Lenna.png", "Hello World")
>>> secret.save("./Lenna-secret.png")
>>>
>>> clear_message = lsb.reveal("./Lenna-secret.png")
```
## Use Stegano as a command line tool
### Hide and reveal a message
```bash
$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m "Secret Message" -o Lena1.png
$ stegano-lsb reveal -i Lena1.png
Secret Message
```
### Hide the message with the Sieve of Eratosthenes
```bash
$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m 'Secret Message' --generator eratosthenes -o Lena2.png
```
The message will be scattered in the picture, following a set described by the
Sieve of Eratosthenes. Other sets are available. You can also use your own
generators.
This will make a steganalysis more complicated.
## Running the tests
```bash
$ python -m unittest discover -v
```
Running the static type checker:
```bash
$ mypy stegano
```
## Contributions
Contributions are welcome. If you want to contribute to Stegano I highly
recommend you to install it in a Python virtual environment with poetry.
## Donations
If you wish and if you like Stegano, you can donate:
[![GitHub Sponsors](https://img.shields.io/github/sponsors/cedricbonhomme)](https://github.com/sponsors/cedricbonhomme)
Thank you !
## License
This software is licensed under
[GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html)
Copyright (C) 2010-2024 [Cédric Bonhomme](https://www.cedricbonhomme.org)
For more information, [the list of authors and contributors](CONTRIBUTORS.md) is available.
Raw data
{
"_id": null,
"home_page": "https://github.com/cedricbonhomme/Stegano",
"name": "stegano",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": "steganography, security, stegano",
"author": "C\u00e9dric Bonhomme",
"author_email": "cedric@cedricbonhomme.org",
"download_url": "https://files.pythonhosted.org/packages/45/d0/e6a603dd9ca9d74386445af856c6e55a21e3e7a8dc45c06797795af72409/stegano-0.11.4.tar.gz",
"platform": null,
"description": "# Stegano\n\n[![builds.sr.ht status](https://builds.sr.ht/~cedric/stegano.svg)](https://builds.sr.ht/~cedric/stegano)\n[![Workflow](https://github.com/cedricbonhomme/Stegano/workflows/Python%20application/badge.svg?style=flat-square)](https://github.com/cedricbonhomme/Stegano/actions?query=workflow%3A%22Python+application%22)\n\n[Stegano](https://github.com/cedricbonhomme/Stegano), a pure Python Steganography\nmodule.\n\nSteganography is the art and science of writing hidden messages in such a way\nthat no one, apart from the sender and intended recipient, suspects the\nexistence of the message, a form of security through obscurity. Consequently,\nfunctions provided by Stegano only hide messages, without encryption.\nSteganography is often used with cryptography.\n\n\n## Installation\n\n\n```bash\n$ poetry install stegano\n```\n\nYou will be able to use Stegano in your Python programs.\n\nIf you only want to install Stegano as a command line tool:\n\n```bash\n$ pipx install stegano\n```\n\npipx installs scripts (system wide available) provided by Python packages into\nseparate virtualenvs to shield them from your system and each other.\n\n\n## Usage\n\nA [tutorial](https://stegano.readthedocs.io) is available.\n\n\n## Use Stegano as a library in your Python program\n\nIf you want to use Stegano in your Python program you just have to import the\nappropriate steganography technique. For example:\n\n```python\n>>> from stegano import lsb\n>>> secret = lsb.hide(\"./tests/sample-files/Lenna.png\", \"Hello World\")\n>>> secret.save(\"./Lenna-secret.png\")\n>>>\n>>> clear_message = lsb.reveal(\"./Lenna-secret.png\")\n```\n\n\n## Use Stegano as a command line tool\n\n### Hide and reveal a message\n\n```bash\n$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m \"Secret Message\" -o Lena1.png\n$ stegano-lsb reveal -i Lena1.png\nSecret Message\n```\n\n\n### Hide the message with the Sieve of Eratosthenes\n\n```bash\n$ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m 'Secret Message' --generator eratosthenes -o Lena2.png\n```\n\nThe message will be scattered in the picture, following a set described by the\nSieve of Eratosthenes. Other sets are available. You can also use your own\ngenerators.\n\nThis will make a steganalysis more complicated.\n\n\n## Running the tests\n\n```bash\n$ python -m unittest discover -v\n```\n\nRunning the static type checker:\n\n```bash\n$ mypy stegano\n```\n\n\n## Contributions\n\nContributions are welcome. If you want to contribute to Stegano I highly\nrecommend you to install it in a Python virtual environment with poetry.\n\n\n## Donations\n\nIf you wish and if you like Stegano, you can donate:\n\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/cedricbonhomme)](https://github.com/sponsors/cedricbonhomme)\n\nThank you !\n\n\n## License\n\nThis software is licensed under\n[GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html)\n\nCopyright (C) 2010-2024 [C\u00e9dric Bonhomme](https://www.cedricbonhomme.org)\n\nFor more information, [the list of authors and contributors](CONTRIBUTORS.md) is available.\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "A pure Python Steganography module.",
"version": "0.11.4",
"project_urls": {
"Documentation": "https://stegano.readthedocs.io",
"Homepage": "https://github.com/cedricbonhomme/Stegano",
"Repository": "https://github.com/cedricbonhomme/Stegano"
},
"split_keywords": [
"steganography",
" security",
" stegano"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ac06a002f4fac95b3b2e3f3b002707f73f8f1548ebcb527359322db046974993",
"md5": "3f6867895b4d689a8e41b06c40e24e91",
"sha256": "694ef47d4c9fc18bf7ad407e1b9f359d67817d5bb4c0d60fd03b57c65dfc9901"
},
"downloads": -1,
"filename": "stegano-0.11.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f6867895b4d689a8e41b06c40e24e91",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 61697,
"upload_time": "2024-09-07T21:56:56",
"upload_time_iso_8601": "2024-09-07T21:56:56.340641Z",
"url": "https://files.pythonhosted.org/packages/ac/06/a002f4fac95b3b2e3f3b002707f73f8f1548ebcb527359322db046974993/stegano-0.11.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "45d0e6a603dd9ca9d74386445af856c6e55a21e3e7a8dc45c06797795af72409",
"md5": "ead65b308c58d6c0749b0a440788ebb8",
"sha256": "51b57050f1e278ce76d4881f101d934bd50648c2e9097bd11c57c799cdf9a0a1"
},
"downloads": -1,
"filename": "stegano-0.11.4.tar.gz",
"has_sig": false,
"md5_digest": "ead65b308c58d6c0749b0a440788ebb8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 36680,
"upload_time": "2024-09-07T21:56:58",
"upload_time_iso_8601": "2024-09-07T21:56:58.099771Z",
"url": "https://files.pythonhosted.org/packages/45/d0/e6a603dd9ca9d74386445af856c6e55a21e3e7a8dc45c06797795af72409/stegano-0.11.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-07 21:56:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cedricbonhomme",
"github_project": "Stegano",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "stegano"
}