# passwordApp **Repository Path**: linjunbin0101/password ## Basic Information - **Project Name**: passwordApp - **Description**: 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-29 - **Last Updated**: 2026-02-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Password Manager (Android) 这是一个基于 Android 平台的安全密码管理器应用,采用现代化的 **Kotlin** 语言和 **Jetpack Compose** UI 框架构建。项目遵循 **Clean Architecture** 架构原则,确保代码的模块化、可测试性和安全性。 ## ✨ 主要功能 * **🔐 安全加密存储**: * 使用 **AES-GCM** (Advanced Encryption Standard) 算法对密码进行加密。 * 利用 **Android Keystore System** 安全存储加密密钥,防止密钥被提取。 * 数据仅存储在本地设备 (Room Database),不上传云端,完全掌控隐私。 * **👆 生物识别解锁**: 支持指纹或面部识别快速登录。 * **📝 密码管理**: * 添加、编辑、删除和查看密码条目。 * 支持按标题、网址或更新时间排序。 * 实时搜索功能。 * **⚡ 自动填充服务 (Autofill)**: * 集成 Android Autofill Framework。 * 允许在其他应用或浏览器中自动识别并填充保存的账号密码。 * **🎲 强密码生成器**: * 内置可配置的密码生成器(长度、大小写、数字、符号)。 * **🎨 现代化 UI**: * 基于 **Material 3** 设计规范。 * 支持深色/浅色主题适配。 * 流畅的动画和转场效果。 ## 📂 项目结构 项目采用 **Clean Architecture** (MVVM) 分层架构: ``` app/src/main/java/com/lins/password/ ├── data/ # 数据层 │ ├── local/ # Room 数据库配置 (Dao, Entity, Database) │ └── repository/ # 仓库实现 (负责数据的加密写入和解密读取) ├── domain/ # 领域层 (纯 Kotlin 代码,无 Android 依赖) │ ├── model/ # 核心业务模型 (PasswordEntry) │ ├── repository/ # 仓库接口定义 │ └── usecase/ # 业务逻辑用例 ├── presentation/ # 表现层 (UI) │ ├── addedit/ # 添加/编辑密码屏幕 │ ├── auth/ # 登录与主密码设置屏幕 │ ├── navigation/ # Navigation Compose 路由配置 │ ├── passworddetail/ # 密码详情屏幕 │ ├── passwordlist/ # 密码列表屏幕 │ └── ui/theme/ # Compose 主题配置 ├── security/ # 安全模块 (核心) │ ├── CryptoManager.kt # 封装 Android Keystore 和 Cipher 加解密逻辑 │ └── PasswordGenerator.kt# 密码生成算法 ├── service/ # Android 组件 │ └── PasswordAutofillService.kt # 自动填充服务实现 └── di/ # 依赖注入 └── ServiceLocator.kt # 手动依赖注入容器 ``` ## 🛠️ 技术栈 * **编程语言**: [Kotlin](https://kotlinlang.org/) * **UI 框架**: [Jetpack Compose](https://developer.android.com/jetpack/compose) (Material 3) * **架构组件**: * **ViewModel**: 管理 UI 状态。 * **Navigation Compose**: 处理页面导航。 * **Room**: 本地 SQLite 数据库 ORM。 * **DataStore**: 存储偏好设置(如加密后的 Master Key 盐值)。 * **异步处理**: [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) & [Flow](https://kotlinlang.org/docs/flow.html) * **安全性**: * `androidx.security:security-crypto` * `androidx.biometric:biometric` ## 🚀 使用方法 ### 1. 构建与运行 确保您已安装 Android Studio 和 JDK 11+。 ```bash # 编译并安装 Debug 版本 ./gradlew installDebug ``` ### 2. 初始设置 1. **设置主密码**: 首次启动应用时,系统会提示您创建一个主密码。 * ⚠️ **重要**: 请务必牢记此密码!它是解密您所有数据的唯一凭证。如果丢失,数据将无法恢复。 2. **生物识别**: 如果设备支持,建议启用指纹/面部解锁以便快速访问。 ### 3. 启用自动填充 要让应用在其他 App 中自动填写密码: 1. 打开手机系统的 **设置**。 2. 搜索 "自动填充" 或前往 **密码与账号** > **自动填充服务**。 3. 选择 **Password Manager** (本项目应用)。 4. 确认开启。 ## ⚠️ 注意事项 * **数据备份**: 目前应用数据仅存储在本地数据库中。卸载应用或清除数据会导致所有保存的密码丢失。请谨慎操作。(*注:导出/导入功能开发中*) * **安全性**: 虽然应用使用了行业标准的加密算法,但建议不要在已 Root 或不安全的设备上使用。 --- *Generated by Trae AI*