所以我一直在寻找不使用基于服务器的密码管理器(如 LastPass)来管理我的密码的方法,我遇到了https://lesspass.com。根据该网站,该工具为给定的主密码、用户名和网站创建相同的密码。我真的很喜欢这个想法,并决定使用 random 模块在 python 中制作我自己的概念证明。我做了这个简单的功能:
import random
import string
import os
MASTER_PASS=os.environ.get('MASTER_PASS')
def generate(platform, user, length):
random.seed(platform+user+MASTER_PASS)
letters=string.ascii_letters +string.digits + string.punctuation
password=""
for i in range(length):
password+=random.choice(letters)
print(password)
generate("facebook", "xyz.abc", 32)
我认为只要没有人知道我的 MASTER_PASSWORD 就应该足够安全,但我无法摆脱这种愚蠢不安全的感觉。谁能指出这种方法的明显缺陷并提出一些提高鲁棒性的方法?
编辑:
我认为我需要做一些澄清。我想制作一个程序,我可以在其中输入我的平台名称、用户名和主密码来生成密码。此外,每当我输入相同的组合时,我必须获得相同的密码。我实际上是在尝试创建一个不依赖任何服务器来存储我的密码的无保险库密码管理器。