在散列键时是否真的需要使用字母b?我只是对它的用法感到困惑。我可以在不使用b'的情况下使用方法2吗?如何在方法一中插入变量?
from hashlib import blake2b
key = 'Hello'
blake2b(b'key').hexdigest()
与
from hashlib import blake2b
key = 'Hello'
blake2b(key).hexdigest()
答案 0 :(得分:0)
b
代表字节。
您的第一个例子
from hashlib import blake2b
key = 'Hello'
blake2b(b'key').hexdigest()
这里将字符串'key'
作为字节传递给blake2b
。这不会插入变量key
的内容。
第二个例子:
from hashlib import blake2b
key = 'Hello'
blake2b(key).hexdigest()
插入变量key
但是作为字符串而不是其字节表示。
你想做的是
from hashlib import blake2b
key = 'Hello'
blake2b(key.encode()).hexdigest()
最后一行使用str.format()
构造一个字符串,用{0}
的第一个参数替换format
。通过这样做,您可以在字符串前添加b
。