【发布时间】:2020-07-20 00:22:48
【问题描述】:
要问我的问题,我应该告诉你我的项目。
所以目前我正在使用 Python 开发本地密码管理器。要使用密码管理器,您最初需要设置一个主密码,并使用该密码解码所有存储的密码。存储的密码存储在 .txt 文件中,但它们不是以纯文本形式存储的。它们被解码,因此您无法直接看到密码。只有拥有主密码才能看到它们。
然后我用我的项目创建一个 .exe 文件。我正在使用带有以下命令的 Pyinstaller:pyinstaller --onefile pythonScriptName.py。
之后我使用 WinRar 创建安装程序。我使用安装程序在其他笔记本电脑上安装我的密码管理器,而无需安装 python。
现在我的问题:
我不知道如何存储我的主密码。我的意思是我不能以纯文本形式存储它,因为这样你就可以直接解码我所有的密码,我也不能解码我的主密码来存储它解码,因为要解码我的主密码,我需要另一个密码来解码它(这将导致一个循环)。
我的想法:
如果您安装了我的密码管理器并首先启动它,您需要设置您的根密码。我想知道我是否可以使用这个密码来用这个密码启动我的程序(我的意思是把它作为一个参数并用os.getenv()把它放在我的脚本中。但我不知道这是否有效。
如果有人能解决我的问题,我将不胜感激。
提前谢谢你!!!
【问题讨论】:
-
密码管理器通常不会存储主密码,是吗?我从来没有使用过密码管理器。这对我来说似乎很奇怪。这不是重点吗,您只需要记住一个(主)密码吗?
-
重点是我需要对用户进行身份验证。如果我无法存储主密码,我无法检查是否允许用户查看其他密码
-
但是为什么需要存储呢?我还是不明白。您不能将主密码用作加密方案的私钥吗?我想仍然没有办法确认密码是否正确,但这并不重要 - 如果他们输入错误的密码,解密将不会产生正确的解密密码。
-
我知道你的意思,但我不仅想自己使用它。我还想将它共享到另一个我不想编码我的密码哈希的计算机。它应该是动态的。
-
哦,我明白了,这是有道理的。抱歉,我没有任何建议。
标签: python security passwords pyinstaller