这是在python中对字符串进行编码和解码的安全方法吗?

这是在python中对字符串进行编码和解码的安全方法吗?,python,encryption,Python,Encryption,我创建了一个非常简单的密码管理器——而不是GUI。基本上,我的Python程序生成一个字符串,我对密码进行编码,然后将编码后的表单存储到加密的txt文件中。现在需要注意的是,我可以采用这种编码形式并将其放入python程序中,然后它返回原始密码。这有多安全?此外,无论出于何种原因,在对密码进行编码后,这会添加到密码中:“b”“。现在我想问的是,恶意黑客采用原始密码的编码形式并获取原始密码有多困难 这是我的编码代码: byte_pass = str.encode(password) encoded

我创建了一个非常简单的密码管理器——而不是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'
如果这不安全,我怎么能用一个特定的关键字加密字符串——就像主密码一样

下面是从Python中提取的代码片段


这就是你要找的吗?

仅供参考,它不是散列的,而是编码的。在有人阅读你的代码并找出如何解密密码之前,它是安全的。不。这不安全。使用经过哈希处理的密码。那么,有没有一种方法可以对密码进行哈希处理,然后重新获得原始表单?使用SHA_256加密?更具体地说,我可以从这个散列中获得原始形式:hash_new=pbkdf2_sha256.hash(new_password)哦,好的,这对于“b”的位置更有意义来自。谢谢。b“”表示它包含的任何内容都是字节类型,而不是字符串类型。因此,如果需要字符串,则需要将其转换回。
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')