# goncpw **Repository Path**: chenxxxxxxxx/goncpw ## Basic Information - **Project Name**: goncpw - **Description**: Navicat 密码查看工具 - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-29 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Navicat 密码查看工具 一个使用 Go + Fyne 框架开发的跨平台 GUI 工具,用于查看 Navicat 数据库连接中保存的密码。 ## 功能特性 - **多版本支持**:支持 Navicat 11/12/15/16/17 的密码解密 - **跨平台**:支持 Windows、macOS、Linux - **Fluent Design**:采用微软 Fluent Design 风格的现代化界面 - **中文优化**:内置 Noto Sans SC 字体,完美显示中文 - **一键复制**:解密结果一键复制到剪贴板 ## 技术栈 - **Go 1.26.0** - **Fyne v2.7.2** - 跨平台 GUI 框架 - **解密算法**: - Navicat 11: Blowfish ECB + SHA1 - Navicat 12+: AES-128-CBC ## 快速开始 ### 环境要求 - Go 1.26.0 或更高版本 - GCC (用于 CGO 编译) ### 安装依赖 ```bash go mod tidy ``` ### 运行程序 ```bash go run . ``` ### 打包构建 #### Windows (使用 Bash) ```bash ./build.sh ``` #### Windows (使用 PowerShell) ```powershell .\build.ps1 ``` #### 跨平台构建 ```bash # 构建所有平台 ./build.sh all # 或指定平台 ./build.sh windows ./build.sh darwin ./build.sh linux ``` 构建输出位于 `build/` 目录。 ## 使用方法 1. 打开 Navicat,找到加密的数据库连接密码 2. 复制密码字符串到本工具 3. 选择对应的 Navicat 版本 4. 点击"解密"按钮查看明文密码 ## 项目结构 ``` . ├── main.go # 主程序入口 ├── bundled.go # 嵌入资源(图标、字体) ├── go.mod # Go 模块配置 ├── go.sum # Go 依赖校验 ├── Icon.png # 应用图标 ├── NotoSansSC-Regular.ttf # 中文字体 ├── build.sh # Bash 打包脚本 ├── build.ps1 # PowerShell 打包脚本 ├── decrypt/ │ └── navicat.go # 解密核心逻辑 └── build/ # 构建输出目录 ``` ## 解密原理 ### Navicat 11 - **算法**: Blowfish ECB - **密钥**: `3DC5CA39` - **派生**: SHA1 ### Navicat 12/15/16/17 - **算法**: AES-128-CBC - **密钥**: `libcckeylibcckey` - **IV**: `libcciv libcciv ` ## 注意事项 - 本工具仅用于查看自己拥有的数据库密码 - 请勿用于非法用途 - 建议定期更换数据库密码 ## 许可证 MIT License