java - 如何创建密码以防止用户发现密码并在桌面应用程序 gui 中更改密码
问题描述
我想制作一个应用程序来管理密码,在这个应用程序中,您将拥有一个主密码,该密码将访问将显示已注册密码的应用程序。如何防止用户发现或更改此密码。此主密码用于访问系统。我正在使用 hsqldb 银行来存储将由用户注册的密码。
谢谢。
解决方案
您绝不能在任何地方以明文形式存储任何这些密码(主密码或注册密码)。否则,您可以将密码放入您喜欢的文本编辑器中并将其保存为纯文本文件,没有区别。
您需要使用主密码(创建密钥)来加密和解密所有其他密码/数据,并且只将加密结果存储在某处。您永远不会将主密码存储在任何地方!
之后没有地方可以更改密码,因为找不到密码。更改主密码的唯一方法是 1. 输入新旧密码 2. 使用旧密码解密 3. 使用新密码加密 4. 存储结果。
如果您忘记了主密码,所有数据都会消失(应该如此),因为您丢失密码与攻击者一开始就没有密码没有区别。
推荐阅读
- python - 在 shapefile 上绘制纬度/经度在 python 中不起作用
- flutter - 如果 Flutter 中的可用宽度缩小,则将多态切换转换为下拉菜单
- python - Odoo 12:在按钮功能中使用多处理模块时遇到模块问题
- c# - 通过 USB 的异步字节传输超时,未传输数据
- javascript - 如何使用 `Array.prototype.filter` 从数组中删除一项?
- javascript - 如何向我以 express 呈现的 html 添加功能?
- google-apps-script - 如何使用 Apps 脚本设置谷歌电子表格循环依赖
- apache-camel - 文件传输后,标头中不存在诸如 CamelFileName 和 camelfilelength 之类的 azure-storage-datalake 标头
- python - 怎么能简单的实现这个功能
- javascript - javascript - 如何删除数组中的所有单个条目