Python:使用Blake2b在散列键中使用字母’b’是什么用法

Python: What is the usage of letter 'b' in hashing key with Blake2b

本问题已经有最佳答案,请猛点这里访问。

哈希键时真的需要使用字母B吗?我只是对它的用法感到困惑。我可以在不使用b'的情况下使用方法2吗?如何在方法一中插入变量?

1
2
3
4
from hashlib import blake2b

key = 'Hello'
blake2b(b'key').hexdigest()

对战

1
2
3
4
from hashlib import blake2b

key = 'Hello'
blake2b(key).hexdigest()


字符串前面的b代表字节。

  • 你的第一个例子

    1
    2
    3
    4
    from hashlib import blake2b

    key = 'Hello'
    blake2b(b'key').hexdigest()

    在这里,您将字符串'key'作为字节传递到blake2b中。这不会插入变量key的内容。

  • 第二个例子:

    1
    2
    3
    4
    from hashlib import blake2b

    key = 'Hello'
    blake2b(key).hexdigest()

    插入变量key,但作为字符串而不是其字节表示形式。

  • 你想做的是

    1
    2
    3
    4
    from hashlib import blake2b

    key = 'Hello'
    blake2b(key.encode()).hexdigest()

    最后一行使用str.format()构造一个字符串,它用format的第一个参数替换{0}。通过这样做,您可以在字符串前面预先结束cx1〔0〕。