# MFA Authenticator 一个基于 HarmonyOS 的多因素身份验证器应用,使用 Apple Design 风格设计。 ## 功能特性 - ✅ **TOTP 验证码生成**: 基于 RFC 6238 标准的时间一次性密码算法 - ✅ **30秒自动刷新**: 实时显示剩余时间和进度 - ✅ **账户管理**: 添加、编辑、删除账户 - ✅ **搜索功能**: 快速查找账户 - ✅ **一键复制**: 点击卡片即可复制验证码 - ✅ **本地存储**: 使用 Preferences API 安全存储 - ✅ **暗色模式**: 自动适配系统主题 - ✅ **简洁 UI**: Apple Design 风格,清爽高效 ## 技术栈 - **开发框架**: ArkTS + ArkUI - **平台**: HarmonyOS 6.0.0 - **架构模式**: MVVM - **加密算法**: HMAC-SHA1/SHA256 - **存储方案**: Preferences API ## 项目结构 ``` entry/src/main/ets/ ├── common/ │ ├── constants/ # 常量定义 │ └── utils/ # 工具类(TOTP、Base32、存储) ├── model/ # 数据模型 ├── viewmodel/ # 业务逻辑 ├── view/ │ └── components/ # 可复用组件 └── pages/ # 页面 ├── AccountListPage.ets # 主页面 ├── AddAccountPage.ets # 添加账户 └── AccountDetailPage.ets # 账户详情 ``` ## 快速开始 ### 环境要求 - DevEco Studio 5.0+ - HarmonyOS SDK 6.0.0+ ### 安装步骤 1. 使用 DevEco Studio 打开项目 2. 等待依赖安装完成 3. 连接 HarmonyOS 设备或启动模拟器 4. 点击运行按钮 ### 使用说明 1. **添加账户** - 点击右上角 "+" 按钮 - 选择"手动输入"标签 - 填写发行者、账户名和密钥(Base32 格式) - 点击"保存" 2. **查看验证码** - 主页面显示所有账户和对应的验证码 - 验证码每 30 秒自动刷新 - 右侧圆环显示倒计时进度 3. **复制验证码** - 点击账户卡片即可复制验证码到剪贴板 4. **管理账户** - 长按账户卡片显示操作菜单 - 可选择"编辑"或"删除" ## 测试账户 可以使用以下测试密钥进行测试: ``` 发行者: Test 账户: test@example.com 密钥: JBSWY3DPEHPK3PXP ``` ## 设计规范 ### 配色方案 - 主色: SF Blue (#007AFF) - 背景: 浅灰 (#F2F2F7) / 深色 (#000000) - 卡片: 白色 (#FFFFFF) / 深色卡片 (#1C1C1E) ### UI 元素 - 圆角: 12-16vp - 验证码字体: 36fp 等宽字体 - 间距系统: 8/12/16/24vp ## 安全说明 - 所有账户数据仅存储在本地设备 - 使用 Preferences API 进行持久化存储 - 密钥采用 Base32 编码存储 - 不会上传任何数据到云端 ## 后续计划 - [ ] 扫码功能实现 - [ ] 数据加密存储 - [ ] 应用锁功能 - [ ] 备份与恢复 - [ ] 更多算法支持(SHA256, SHA512) - [ ] 批量导入导出 ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request!