智能电子密码锁是一款基于Python + Tkinter开发的桌面安全工具,提供完整的密码管理和访问控制功能。系统采用SHA-256哈希加密存储密码,支持字母/数字/符号组合密码(长度4-256位),输入全程星号隐藏防窥屏。
核心功能包括:
1. 密码开锁:用户通过屏幕键盘输入密码,验证通过后解锁,连续输错3次自动锁定30秒。
2. 密码强度检测:实时评估密码强度(强/中/弱),并给出改进建议。
3. 管理员后台:管理员可查看完整操作日志、修改普通用户密码、强制开锁、重置失败尝试次数、查看登录历史。
4. 安全特性:密码过期提醒(90天)、操作日志持久化、登录历史记录、数据自动保存。
5. 界面功能:支持暗色/亮色主题切换、窗口置顶、日志导出为CSV。
适用场景:毕业设计、课程设计、门禁管理演示、Python学习案例、可作为智能家居控制端组件。
1. 整体架构:
本项目采用经典的MVC三层架构。Model层负责数据管理,使用JSON文件持久化存储密码哈希和系统配置,通过SHA-256哈希算法保障密码安全。View层基于Python标准库Tkinter构建,包含密码输入面板、全键盘控件、状态显示、日志窗口等组件,支持暗色/亮色主题动态切换。Controller层负责核心业务逻辑,包括密码校验、权限控制、锁定机制、日志记录等功能模块。技术栈主要使用Python 3.8+、Tkinter GUI框架、hashlib加密库、json数据序列化。
2. 个人负责模块:
本人独立完成全部模块的开发、测试和打包工作。包括完整UI界面设计(全键盘布局、状态显示、日志窗口)、核心逻辑实现(哈希加密、密码校验、失败锁定机制)、管理员后台开发(日志查看、密码管理、强制开锁)、数据持久化(JSON配置存储、日志文件写入)、以及辅助功能(密码强度检测、主题切换、日志导出)。项目代码约1100行,已在Windows 10/11平台完成完整测试。
3. 遇到的难点和解决方案:
难点一:密码安全性保障。初期使用明文存储密码,存在数据泄露风险。解决方案:引入SHA-256哈希加盐策略,密码仅存储哈希值,即使数据文件泄露也无法还原原始密码。
难点二:密码强度实时检测。需要在用户输入时动态评估密码复杂度。解决方案:开发密码强度检测算法,从长度和字符组合两个维度综合评分,并给出可视化进度条反馈。
难点三:打包为exe后文件路径问题。使用PyInstaller打包后,数据文件读写路径发生变化。解决方案:使用os.path.dirname(sys.executable)获取可执行文件所在目录,确保数据文件始终与exe在同一目录下读写。