cedricbonhomme/Stegano

GitHub: cedricbonhomme/Stegano

Stegano 是一个纯 Python 编写的图像隐写术模块,提供在图片中隐藏与提取秘密信息的功能。

Stars: 595 | Forks: 77

# Stegano [![Workflow](https://static.pigsec.cn/wp-content/uploads/repos/cas/be/be0b6842d61af253b30f82a76284fcd9b9339863e92369b5665a51d3f2321003.svg)](https://github.com/cedricbonhomme/Stegano/actions?query=workflow%3A%22Python+application%22) [Stegano](https://github.com/cedricbonhomme/Stegano),一个纯 Python 的隐写术 模块。 隐写术是将隐藏信息编写于其中,使得除发送者和预期接收者之外的任何人都无法察觉信息存在的艺术与科学,这是一种通过隐蔽实现安全的手段。因此, Stegano 提供的功能仅用于隐藏信息,而不进行加密。 隐写术通常与密码学结合使用。 ## 安装说明 ``` $ poetry install stegano ``` 这样您就可以在您的 Python 程序中使用 Stegano 了。 如果您只想将 Stegano 作为命令行工具安装: ``` $ pipx install stegano ``` pipx 会将 Python 包提供的脚本(在系统范围内可用)安装到独立的虚拟环境中,从而将它们与您的系统以及彼此隔离开来。 ## 用法 这里提供了一份[教程](https://stegano.readthedocs.io)。 ## 在您的 Python 程序中将 Stegano 作为库使用 如果您想在 Python 程序中使用 Stegano,只需导入相应的隐写技术即可。例如: ``` >>> 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") ``` 对于*可逆*数据隐藏(在提取信息后可以精确恢复原始载体),请使用直方图平移技术: ``` >>> from stegano import rdh >>> secret = rdh.hide("./tests/sample-files/Lenna-grayscale.png", "Hello World") >>> secret.save("./Lenna-secret.png") >>> >>> clear_message = rdh.reveal("./Lenna-secret.png") >>> cover = rdh.recover("./Lenna-secret.png") # restores the original image ``` ## 将 Stegano 作为命令行工具使用 ### 隐藏和揭示信息 ``` $ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m "Secret Message" -o Lena1.png $ stegano-lsb reveal -i Lena1.png Secret Message ``` ### 可逆地隐藏信息并恢复载体 ``` $ stegano-rdh hide -i ./tests/sample-files/Lenna-grayscale.png -m "Secret Message" -o stego.png $ stegano-rdh reveal -i stego.png Secret Message $ stegano-rdh recover -i stego.png -o cover.png # cover.png == the original image ``` ### 使用埃拉托斯特尼筛法隐藏信息 ``` $ stegano-lsb hide -i ./tests/sample-files/Lenna.png -m 'Secret Message' --generator eratosthenes -o Lena2.png ``` 信息将根据埃拉托斯特尼筛法所描述的集合散布在图片中。还有其他可用的集合。您也可以使用您自己的生成器。 这将使隐写分析变得更加复杂。 ## 运行测试 ``` $ python -m unittest discover -v ``` 运行静态类型检查器: ``` $ mypy stegano ``` ## 许可证 本软件根据 [GNU General Public License version 3](https://www.gnu.org/licenses/gpl-3.0.html) 获得许可 版权所有 (C) 2010-2026 [Cédric Bonhomme](https://www.cedricbonhomme.org) 欲了解更多信息,请查看[作者和贡献者列表](CONTRIBUTORS.md)。
标签:Blue Team, DNS 反向解析, Python, 图像处理, 数据隐藏, 无后门, 逆向工具, 隐写术