stegano


Namestegano JSON
Version 0.11.3 PyPI version JSON
download
home_pagehttps://sr.ht/~cedric/stegano
SummaryA pure Python Steganography module.
upload_time2024-01-02 09:13:48
maintainer
docs_urlNone
authorCédric Bonhomme
requires_python>=3.9,<3.13
licenseGPL-3.0-or-later
keywords steganography security stegano
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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://sr.ht/~cedric/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.

For reporting issues, visit the tracker here:
https://todo.sr.ht/~cedric/stegano


## 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.


## 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://sr.ht/~cedric/stegano",
    "name": "stegano",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9,<3.13",
    "maintainer_email": "",
    "keywords": "steganography,security,stegano",
    "author": "C\u00e9dric Bonhomme",
    "author_email": "cedric@cedricbonhomme.org",
    "download_url": "https://files.pythonhosted.org/packages/94/08/a6519d5e57b54b9f6a4c1a917021a43b00991a7677b5164648b9c291028c/stegano-0.11.3.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://sr.ht/~cedric/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\nFor reporting issues, visit the tracker here:\nhttps://todo.sr.ht/~cedric/stegano\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## 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.3",
    "project_urls": {
        "Documentation": "https://stegano.readthedocs.io",
        "Homepage": "https://sr.ht/~cedric/stegano",
        "Repository": "https://git.sr.ht/~cedric/stegano"
    },
    "split_keywords": [
        "steganography",
        "security",
        "stegano"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1473e8679eafc795fdb6fa016ab1261e5c7b2b2ac462ad6927dbe98c690decd0",
                "md5": "d4dd3a0861f5474ef0954dc26b8f16a1",
                "sha256": "edb6855b177876405278c0f2ae22d3710569f394e3bed4de9c16024dee03bd32"
            },
            "downloads": -1,
            "filename": "stegano-0.11.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d4dd3a0861f5474ef0954dc26b8f16a1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<3.13",
            "size": 61539,
            "upload_time": "2024-01-02T09:13:45",
            "upload_time_iso_8601": "2024-01-02T09:13:45.987796Z",
            "url": "https://files.pythonhosted.org/packages/14/73/e8679eafc795fdb6fa016ab1261e5c7b2b2ac462ad6927dbe98c690decd0/stegano-0.11.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9408a6519d5e57b54b9f6a4c1a917021a43b00991a7677b5164648b9c291028c",
                "md5": "2e46dd3656c4f6983dfb1b9ab2bc71ec",
                "sha256": "467ea0ec786d6108a0705e5a0b8daa17082e8b094d45198db2aead5eab5fb178"
            },
            "downloads": -1,
            "filename": "stegano-0.11.3.tar.gz",
            "has_sig": false,
            "md5_digest": "2e46dd3656c4f6983dfb1b9ab2bc71ec",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<3.13",
            "size": 36501,
            "upload_time": "2024-01-02T09:13:48",
            "upload_time_iso_8601": "2024-01-02T09:13:48.229123Z",
            "url": "https://files.pythonhosted.org/packages/94/08/a6519d5e57b54b9f6a4c1a917021a43b00991a7677b5164648b9c291028c/stegano-0.11.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-02 09:13:48",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "stegano"
}
        
Elapsed time: 0.16781s