我创建了一个非常简单的密码管理器——不是 GUI。基本上,我的 Python 程序生成一串字符,然后对该密码进行编码,然后将编码形式存储到加密的 txt 文件中。现在的问题是我可以采用该编码形式并将其放入我的 python 程序中,然后它返回原始密码。这有多安全?此外,无论出于何种原因,在对密码进行编码后,都会将其添加到密码中:“b'<--此处的密码-->'”。现在我要问的是,对于恶意黑客来说,获取原始密码的编码形式并获取原始密码有多困难。
这是我的编码代码:
byte_pass = str.encode(password)
encoded = base64.b64encode(byte_pass)
现在要返回原始密码,我所要做的就是执行以下操作:
base64.b64decode(old_pass)
如果这不安全,我如何使用特定关键字加密字符串——几乎就像主密码一样。
谢谢!
注意** 以下是编码前和编码后的一些示例:
# Generated Password
2]+C!)5R@hwp\zebDjOlx&xL}cRq”`n
# Encoded form of password above
b'Ml0rQyEpNVJAaHdwXHplYkRqT2x4JnhMfWNSceKAnWBu'
最佳答案
And if this is not safe how can I encrypt a string using a specific keyword--almost like a master password.
以下代码片段摘自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')
这是您要找的吗?
关于python - 这是一种在 python 中编码和解码字符串的安全方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52158102/