# sec **Repository Path**: laogg/sec ## Basic Information - **Project Name**: sec - **Description**: directory and files encryption. - **Primary Language**: Rust - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-12 - **Last Updated**: 2026-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sec #### 介绍 directory and files encryption. #### 软件架构 软件架构说明 ``` c:\ProjectMed\sec\ ├── Cargo.toml └── src/ ├── main.rs # CLI入口,命令解析 ├── crypto.rs # 核心加密(Argon2id + AES-256-GCM) ├── lock.rs # 模式一:lock/unlock └── encrypt.rs # 模式二:encrypt/decrypt切换 ``` ## 可执行文件 target\release\folder-crypt.exe #### 使用说明 ## 使用方法 模式一 — 密码保护访问: ``` folder-crypt.exe lock <文件夹>     # 锁定(设密码,文件加密+重命名,目录显示空白) folder-crypt.exe unlock <文件夹>   # 解锁(输密码,还原所有文件) ``` 模式二 — 加解密切换: ``` folder-crypt.exe encrypt <文件夹>  # 首次=加密,再次=解密(自动检测状态) ``` ## 核心技术实现 | 组件 | 实现 | | -- | -- | | 密钥派生 | Argon2id(64MB内存/3迭代/4并行)| | 加密算法 | AES-256-GCM(AEAD认证加密)| | 模式一锁定 | 文件内容加密 + 文件名替换为UUID + .vault 隐藏索引文件 | | 模式二加密 | 文件原地加密追加 .fcenc 后缀 + .encrypted 隐藏标记文件 | | 密码验证 | 加密固定校验字符串,解密时先验证密码正确性 | | 密码输入 | rpassword 终端安全输入(不回显)| | 级别 | 隐藏方式 | 加密后目录表现 | 安全性 | | -- | -- | -- | -- | |simple | 逐文件加密+重命名, attrib +H +S | 多个隐藏文件(开启"显示系统文件"可见)| 低 | | medium | 合并为单个容器文件, attrib +H +S | 1个隐藏文件(开启"显示系统文件"可见) | 中 | | advanced | 合并写入NTFS交替数据流 文件夹:.vault | 完全空白,无任何文件(仅 dir /r 可发现)| 高 | | 注意 :advanced 模式仅适用于 NTFS 分区,将文件夹复制到 FAT32/exFAT/U盘 时 ADS 数据会丢失。| ### 快速上手 ``` # 安装rust: Invoke-WebRequest -Uri https://win.rustup.rs/x86_64 -OutFile "$env:TEMP\rustup-init.exe"; & "$env:TEMP\rustup-init.exe" -y Test-Path "$env:USERPROFILE\.cargo\bin\cargo.exe"; if (Test-Path "$env:USERPROFILE\.cargo\bin\cargo.exe") { & "$env:USERPROFILE\.cargo\bin\cargo.exe" --version } # 设置默认工具链 & "$env:USERPROFILE\.cargo\bin\rustup.exe" default stable # 修复工具链 & "$env:USERPROFILE\.cargo\bin\rustup.exe" toolchain install stable cargo init --name folder-crypt # 编译 cd "c:\ProjectMed\sec"; & "$env:USERPROFILE\.cargo\bin\cargo.exe" build --release 2>&1 021 36392785 纳税人名称:埃洛斯医疗(深圳)有限公司 纳税人识别号:91440300MA5FGU5E5G 地址:深圳市宝安区福海街道新田社区新塘路28号803、901 电话:0755-23080304 开户行:中国建设银行股份有限公司深圳新桥支行 账号:44250100017900001619 齐晓月, 18507552929 # 验证二进制文件 & "c:\ProjectMed\sec\target\release\folder-crypt.exe" --help # 快速功能测试 mkdir "c:\ProjectMed\sec\test_dir"; Set-Content "c:\ProjectMed\sec\test_dir\hello.txt" "Hello World!"; Set-Content "c:\ProjectMed\sec\test_dir\secret.txt" "This is a secret file" echo "test1234" | & "c:\ProjectMed\sec\target\release\folder-crypt.exe" lock "c:\ProjectMed\sec\test_dir" # 清理测试目录 Remove-Item "c:\ProjectMed\sec\test_dir" -Recurse -Force ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) 123234