我创建了一个非常简单的密码管理器-而不是GUI。基本上,我的Python程序生成一个字符串,然后对密码进行编码,然后将编码后的表单存储到加密的txt文件中。现在要注意的是,我可以采用该编码形式并将其放入我的python程序中,并返回原始密码。这有多安全?同样,无论出于何种原因,在对密码进行编码后,都会将其添加到密码中:“ b'<-Password here->'。”现在,我要问的是,恶意黑客采用原始形式的编码形式会有多困难?密码并获得原件。
这是我的编码代码:
byte_pass = str.encode(password)
encoded = base64.b64encode(byte_pass)
现在我要做的就是返回原始密码:
base64.b64decode(old_pass)
如果这样做不安全,我该如何使用特定的关键字(几乎像主密码)来加密字符串。
谢谢!
注意**以下是before编码和after编码的一些示例:
# Generated Password
2]+C!)5R@hwp\zebDjOlx&xL}cRq”`n
# Encoded form of password above
b'Ml0rQyEpNVJAaHdwXHplYkRqT2x4JnhMfWNSceKAnWBu'
答案 0 :(得分:3)
如果这样做不安全,我该如何使用特定的关键字(几乎像主密码)来加密字符串。
下面摘录自Python hashlib的摘录。
from hashlib import blake2b
from hmac import compare_digest
SECRET_KEY = b'pseudorandomly generated server secret key'
AUTH_SIZE = 16
def sign(cookie):
h = blake2b(digest_size=AUTH_SIZE, key=SECRET_KEY)
h.update(cookie)
return h.hexdigest().encode('utf-8')
def verify(cookie, sig):
good_sig = sign(cookie)
return compare_digest(good_sig, sig)
cookie = b'user-alice'
sig = sign(cookie)
print("{0},{1}".format(cookie.decode('utf-8'), sig))
verify(cookie, sig)
verify(b'user-bob', sig)
verify(cookie, b'0102030405060708090a0b0c0d0e0f00')
这是您要寻找的吗?