这是这个寒假利用豆包、灵码等AI做的两个软件之一,名称是忘了么,这是一个密码管理器应用,使用Flutter开发,具备以下核心功能:
用户通过PIN码登录(支持6-30位任意字符)。
支持添加、编辑、删除密码记录。
数据本地存储并加密(使用AES加密)。
自动锁定机制(无操作超时后自动退出登录)。
支持数据导出和导入(加密备份文件)。
支持修改PIN码。
制作方法为将正确详细的需求描述给AI,具体描述如下:
“请帮我生成一个Flutter密码管理器应用,包含以下功能:
用户首次使用时设置6-30位任意字符的PIN码,并二次确认;之后每次启动需输入PIN码登录。
主界面展示密码记录列表,支持点击查看、编辑、删除。
添加密码时需填写标题、账号、密码、备注,密码字段支持可见/隐藏切换。
支持修改PIN码,需验证原PIN码并重新加密数据。
支持数据导出为加密文件(AES加密),以及从备份文件导入数据(需验证原PIN码)。
实现自动锁定机制:应用进入后台或超过设定时间无操作时自动退出登录。
技术要求:使用Hive作为本地数据库,encrypt包进行AES加密,flutter_secure_storage存储PIN码哈希值。”
请按照上述需求生成完整的Dart代码。”
技术栈与依赖
框架:Flutter
数据库:Hive(支持加密)
加密库:encrypt(AES加密)、crypto(SHA256哈希)
安全存储:flutter_secure_storage
文件操作:path_provider、file_picker
权限管理:permission_handler
关键设计原则
安全性:
所有敏感数据(如密码)必须加密存储。
PIN码不可逆加密(SHA256)。
数据传输过程中避免明文暴露。
用户体验:
输入框支持可见/隐藏切换。
错误提示清晰易懂。
操作流程简洁直观。
跨平台兼容性:
特别适配Windows平台(如导出文件路径选择)。
具体源代码及软件在GitHub上,搜索wangleme