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

2.8 KiB

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!