使用 hashlib 进行 Python 密码散列

问题描述

我正在尝试为我正在创建的登录系统散列密码。我正在使用 hashlib 导入并使用 blake2b 哈希算法。我似乎无法弄清楚如何散列一个变量,例如 passwordEntry。所有 hashlib 示例都只是 blake2b 散列字符。例如: blake2b(b'IWantToHashThis') 我很困惑为什么“b”字母必须包含在哈希中。如果我尝试散列一个变量,则“b”字母不能与我想要散列的变量结束。我尝试对变量进行哈希处理的示例:blake2b(passwordEntry) 我尝试对变量进行哈希处理的另一个示例:blake2b(b passwordEntry) 在第二个示例中,我刚刚给出了 hashlib认为它正在尝试散列变量“b passwordEntry”。就像我之前所说的那样,散列算法中必须包含“b”字母才能正确执行。 对不起,如果我理解这个问题很难理解

解决方法

字母 b 只在引号前有效,[",',""",'''']。 并且要注意这个字符串是bytes。 如果要将字符串转换为字节,可以通过 b"string""string".encode()。但是,在您的情况下,您只能使用 encode()str 方法,因为 b 仅适用于文字字符串。 因此,在您的情况下,它将是 blake2b(passwordEntry.encode())