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+
安装步骤
- 使用 DevEco Studio 打开项目
- 等待依赖安装完成
- 连接 HarmonyOS 设备或启动模拟器
- 点击运行按钮
使用说明
-
添加账户
- 点击右上角 "+" 按钮
- 选择"手动输入"标签
- 填写发行者、账户名和密钥(Base32 格式)
- 点击"保存"
-
查看验证码
- 主页面显示所有账户和对应的验证码
- 验证码每 30 秒自动刷新
- 右侧圆环显示倒计时进度
-
复制验证码
- 点击账户卡片即可复制验证码到剪贴板
-
管理账户
- 长按账户卡片显示操作菜单
- 可选择"编辑"或"删除"
测试账户
可以使用以下测试密钥进行测试:
发行者: 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!
Description
Languages
TypeScript
100%