Silent0Wings/SteganoPixelCrypt
GitHub: Silent0Wings/SteganoPixelCrypt
一款将文本字符映射为像素颜色以实现可视化隐写编码的 C++ 工具,支持完整 Unicode 字符集并可生成可解码的彩色图像。
Stars: 0 | Forks: 0
# SteganoPixelCrypt
**SteganoPixelCrypt** 是一款 **C++** 工具,通过将每个字符转换为像素颜色来对文本进行可视化加密。
它可以将整个文档转换为彩色图案,随后可被解码回原始内容。
**轻量级**、**速度快**,非常适合基础的[隐写术](https://en.wikipedia.org/wiki/Steganography)。
它支持完整的 **32位 Unicode 范围**([UTF-32](https://en.wikipedia.org/wiki/UTF-32)),
涵盖所有 **4,294,967,296 个码位**,包括:
- **中文**:你, 爱, 学, 生
- **日文**:日, 本, 語, 学
- **阿拉伯语**:ع, م, ر, ب
- **俄语**:Ж, Д, Р, Я
- **表情符号**:😊, 🚀, 🔥, 💡
- **符号**:∞, §, ©, ✓
- **私用区**、**稀有**和**未分配**字符
## 示例代码
这是一个最简示例,展示了如何加载 [UTF-32](https://en.wikipedia.org/wiki/UTF-32) 文本文件,
并使用 `SteganoPixelCrypt` 将其转换为加密图像:
```
#include "SteganoPixelCrypt.h"
int main() {
std::u32string text = loadUTF32FromFile("./Book/Universal_Declaration_of_Human_Rights.txt");
SteganoPixelCrypt pc;
pc.processString(text); // Outputs image(s) in the same folder as the source text
}
```
## 加密作品
以下是使用 **SteganoPixelCrypt** 进行可视化加密的著名文本、歌曲和序列示例。
每个条目均包含源链接及其对应的 `Data.bmp` 输出结果。
| 标题 | 作者/来源 | 加密图像 |
| ------------------------------------------------------------------------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------- |
| [白鲸](https://www.gutenberg.org/ebooks/2701) | Herman Melville |
|
| [德古拉](https://www.gutenberg.org/files/345/345-h/345-h.htm) | Bram Stoker |
|
| [福尔摩斯探案集](https://www.gutenberg.org/cache/epub/1661/pg1661.txt) | Arthur Conan Doyle |
|
| [相对论:狭义与广义理论](https://www.gutenberg.org/ebooks/5001) | Albert Einstein |
|
| [莎士比亚全集](https://www.gutenberg.org/cache/epub/100/pg100.txt) | William Shakespeare |
|
| [智人 DNA](https://www.ncbi.nlm.nih.gov/datasets/taxonomy/9606/) | NCBI |
|
| [PBCV‑1 基因组 (NC_000852.5)](https://www.ncbi.nlm.nih.gov/nuccore/NC_000852.5) | _Paramecium bursaria_ Chlorella virus 1 |
|
| [10亿位圆周率](https://stuff.mit.edu/afs/sipb/contrib/pi/pi-billion.txt) | 1,000,000,000 Digits of π |
|
| [世界人权宣言](https://www.un.org/en/about-us/universal-declaration-of-human-rights) | United Nations |
|
| [波西米亚狂想曲(歌词)](https://genius.com/Queen-bohemian-rhapsody-lyrics) | Queen |
|
**注意:** 除 Queen 受版权保护的 _Bohemian Rhapsody_ 外,以上所有条目均属于公共领域。
请仅将其用于教育和演示目的。
## 待办事项(未来功能)
- 将图像解码回文本
- 设置自定义图像尺寸与内边距
- 使用自定义调色板
- 批量转换多个文件
- 添加密码锁
- 制作一个简单的 GUI
- 检查解码错误
- 在图像中存储标题/作者信息
## 文件结构
每个编码后的文件会生成两个输出:
- `Data.bmp`:文本的可视化表示
- `Key.bmp`:用于解码的颜色键映射
这些文件被保存在源文本旁边的 `Book/`、`Song/` 或 `Dna/` 等子文件夹中。
日后可使用相同的 key 将其解码还原。
## 构建与运行
### Windows
```
g++ -std=c++17 -o "src\main.exe" src\main.cpp -Wall
./main.exe
```
### macOS / Linux
```
g++ -std=c++17 -o "src\main.exe" src\main.cpp -Wall
./main
```
标签:C++, DNS 反向解析, 图像处理, 数据擦除, 数据编码, 文本转换, 隐写术