问题描述
我正在尝试为我正在创建的登录系统散列密码。我正在使用 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())