Files
Authenticator/README.md
2025-10-19 12:32:16 +08:00

120 lines
2.8 KiB
Markdown

# 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!