{"id":13539806,"url":"https://github.com/cedricbonhomme/stegano","last_synced_at":"2026-01-20T09:04:07.906Z","repository":{"id":45034120,"uuid":"46914342","full_name":"cedricbonhomme/Stegano","owner":"cedricbonhomme","description":"A pure Python steganography module.","archived":false,"fork":false,"pushed_at":"2026-01-13T20:18:18.000Z","size":21840,"stargazers_count":582,"open_issues_count":1,"forks_count":76,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-01-13T22:22:32.995Z","etag":null,"topics":["hidden-message","image-processing","secret","security","steganalysis","steganography"],"latest_commit_sha":null,"homepage":"https://stegano.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cedricbonhomme.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-11-26T08:41:18.000Z","updated_at":"2026-01-13T20:18:16.000Z","dependencies_parsed_at":"2023-10-03T05:55:45.673Z","dependency_job_id":"fa7123a8-30de-4261-bb4e-e82d64b07017","html_url":"https://github.com/cedricbonhomme/Stegano","commit_stats":null,"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/cedricbonhomme/Stegano","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricbonhomme%2FStegano","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricbonhomme%2FStegano/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricbonhomme%2FStegano/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricbonhomme%2FStegano/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cedricbonhomme","download_url":"https://codeload.github.com/cedricbonhomme/Stegano/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedricbonhomme%2FStegano/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28599850,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T08:51:33.170Z","status":"ssl_error","status_checked_at":"2026-01-20T08:51:10.855Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hidden-message","image-processing","secret","security","steganalysis","steganography"],"created_at":"2024-08-01T09:01:32.152Z","updated_at":"2026-01-20T09:04:07.899Z","avatar_url":"https://github.com/cedricbonhomme.png","language":"Python","funding_links":["https://github.com/sponsors/cedricbonhomme"],"categories":["\u003ca id=\"8f92ead9997a4b68d06a9acf9b01ef63\"\u003e\u003c/a\u003e扫描器\u0026\u0026安全扫描\u0026\u0026App扫描\u0026\u0026漏洞扫描","\u003ca id=\"132036452bfacf61471e3ea0b7bf7a55\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"1927ed0a77ff4f176b0b7f7abc551e4a\"\u003e\u003c/a\u003e隐私存储"],"readme":"# Stegano\n\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\u003e\u003e\u003e from stegano import lsb\n\u003e\u003e\u003e secret = lsb.hide(\"./tests/sample-files/Lenna.png\", \"Hello World\")\n\u003e\u003e\u003e secret.save(\"./Lenna-secret.png\")\n\u003e\u003e\u003e\n\u003e\u003e\u003e 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 via GitHub Sponsors:\n\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/cedricbonhomme)](https://github.com/sponsors/cedricbonhomme)\n\nor with Bitcoin to this address:  \nbc1q56u6sj7cvlwu58v5lemljcvkh7v2gc3tv8mj0e\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-2026 [Cédric Bonhomme](https://www.cedricbonhomme.org)\n\nFor more information, [the list of authors and contributors](CONTRIBUTORS.md) is available.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedricbonhomme%2Fstegano","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcedricbonhomme%2Fstegano","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedricbonhomme%2Fstegano/lists"}