alok-mishra143/File-Encryptor
GitHub: alok-mishra143/File-Encryptor
一个基于 C++20 的轻量级文件加密学习项目,支持多线程并行处理和自定义 Emoji 编码,旨在探索二进制文件 I/O 与并行加密架构设计。
Stars: 0 | Forks: 0
# 文件 Encryptor
### 高性能 C++20 文件加密与解密
传统与并行文件加密,支持可配置的多线程、基于分块的处理、批量操作和性能基准测试。




## 概述
**File Encryptor** 是一个 C++20 项目,展示了文件加密的传统方法与并行方法。
它侧重于:
- 高性能的基于分块的处理
- 多线程加密/解密
- 批量和目录处理
- 可配置的工作线程
- 性能基准测试
- 清晰的模块化架构
# 功能
- 传统单线程加密/解密
- 基于分块的并行处理
- 可配置的线程数
- 可配置的分块大小
- 批量文件处理
- 递归目录处理
- 文件扩展名过滤
- 吞吐量统计
- 交互式 CLI
- 性能演示应用程序
- Windows 构建脚本
- 模块化 C++20 架构
# 截图
| 菜单 | 并行演示 |
|------|---------------|
|  |  |
# 项目结构
```
.
├── docs/
│ ├── ARCHITECTURE.md
│ └── PARALLEL_IMPLEMENTATION.md
│
├── src/
│ └── app/
│ ├── encryptDecrypt/
│ ├── fileHanding/
│ └── Procesess/
│
├── main.cpp
├── build.ps1
├── build.bat
├── makefile
├── .env
└── README.md
```
# 架构
```
User
│
▼
Interactive CLI (main.cpp)
│
▼
Encryption Controller
│
┌───────────┴────────────┐
▼ ▼
Sequential Engine Parallel Engine
│
Split File into Chunks
│
┌──────────────┼──────────────┐
▼ ▼ ▼
Thread 1 Thread 2 Thread N
│ │ │
└──────────────┼──────────────┘
▼
Write Processed Data
│
▼
Output File
```
详细的图表请参见:
```
docs/ARCHITECTURE.md
```
# 项目组件
| 组件 | 用途 |
|-----------|---------|
| `main.cpp` | 交互式 CLI |
| `encryptDecrypt/` | 串行与并行加密逻辑 |
| `fileHanding/` | 文件工具和 `.env` 处理 |
| `Procesess/` | 线程和任务管理 |
| `parallel_demo` | 性能演示 |
| `cryption` | 独立测试可执行文件 |
# 前置条件
- Windows
- PowerShell
- MinGW-w64
- 支持 C++20 的 g++
在项目根目录创建一个 `.env` 文件。
```
123
```
该文件应仅包含数字加密密钥。
# 构建
## PowerShell(推荐)
```
# Clean 和 build
./build.ps1 -Clean -Target main
```
构建所有可执行文件:
```
./build.ps1 -Target all
```
## Make
```
make
```
## Batch
```
./build.bat
```
# 可执行文件
| 可执行文件 | 描述 |
|------------|-------------|
| `encrypt_decrypt.exe` | 交互式应用程序 |
| `parallel_demo.exe` | 并行性能演示 |
| `cryption.exe` | 独立加密驱动程序 |
# 运行
## 交互式菜单
```
./encrypt_decrypt.exe
```
## 并行演示
```
./parallel_demo.exe
```
## 加密驱动程序
```
./cryption.exe "
**使用 C++20 构建**
标签:AI合规