文件加密小工具-更新版

从 文件加密小工具 继续讨论 https://linux.do/t/topic/1591540 之前为了实现openlist encrypt驱动文件 本地加密-官方工具上传-服务器查看 的路径,使用Python做了一个小工具,支持GUI操作,但加解密操作依赖openlist可执行程序,整体不够优雅。...
文件加密小工具-更新版
文件加密小工具-更新版

文件加密小工具继续讨论

https://linux.do/t/topic/1591540

之前为了实现openlist encrypt驱动文件本地加密-官方工具上传-服务器查看的路径,使用Python做了一个小工具,支持GUI操作,但加解密操作依赖openlist可执行程序,整体不够优雅。

最近了解到rust性能非常优秀,尝试使用rust实现,折腾半天之后,交叉加解密始终无法通过,原因是rust使用的加密库和go有差异。

最近使用go语言重做了该项目,简单测试基本通过,现在分享给大家。工具的特点如下:

  • 使用后端GO实现, Wails 框架实现GUI,依赖WebView
  • 不依赖rclone,openlist等加解密可执行程序
  • 加解密和openlist完全兼容
  • 密钥、盐值的混淆还原操作完全兼容

https://wormhole.app/52PjR0#GmPm_gHw8VBHlM4XjGv1AA

image


  easy-crypt-go/
  ├── main.go                        # 入口:GUI/CLI 双模式
  ├── app.go                         # Wails GUI 后端(15 个暴露方法)
  ├── wails.json                     # Wails 项目配置
  ├── go.mod / go.sum                # Go 模块定义
  ├── .gitignore                     # 构建产物忽略规则
  ├── README.md                      # 项目说明
  ├── frontend/
  │   ├── index.html                 # GUI 界面(中文)
  │   ├── style.css                  # 深色主题样式
  │   ├── main.js                    # 前端交互逻辑
  │   └── wailsjs/                   # Wails 自动生成的 JS/TS 绑定
  ├── internal/
  │   ├── cli/cli.go                 # CLI 命令(encrypt/decrypt/obscure/reveal/config)
  │   ├── crypto/
  │   │   ├── obscure.go             # 密码混淆(AES-256-CTR,rclone 兼容)
  │   │   ├── key_derivation.go      # 密钥派生(scrypt N=16384)
  │   │   ├── file_cipher.go         # 文件内容加密(NaCl SecretBox)
  │   │   ├── filename_cipher.go     # 文件名加密(EME / 旋转密码)
  │   │   ├── dirname_cipher.go      # 目录名加密
  │   │   └── crypto_test.go         # 23 个单元测试
  │   ├── core/
  │   │   ├── config.go              # JSON 配置管理
  │   │   ├── processor.go           # 加密/解密处理引擎
  │   │   ├── file_walker.go         # 递归目录遍历
  │   │   └── core_test.go           # 7 个单元测试
  │   └── utils/error.go             # 公共错误类型


  # 解压
  tar xzf easy-crypt-go-src.tar.gz
  cd easy-crypt-go

  # 安装 Wails CLI
  go install github.com/wailsapp/wails/v2/cmd/wails@latest

  # 构建当前平台 GUI
  wails build

  # macOS Apple Silicon
  wails build -platform darwin/arm64

1 个帖子 - 1 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文