Python:Blake2b

时间:2017-09-02 13:20:40

标签: python

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

from hashlib import blake2b

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

from hashlib import blake2b

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

1 个答案:

答案 0 :(得分:0)

字符串前面的

b代表字节

  1. 您的第一个例子

    from hashlib import blake2b
    
    key = 'Hello'
    blake2b(b'key').hexdigest()
    

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

  2. 第二个例子:

    from hashlib import blake2b
    
    key = 'Hello'
    blake2b(key).hexdigest()
    

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

  3. 你想做的是

    from hashlib import blake2b
    
    key = 'Hello'
    blake2b(key.encode()).hexdigest()
    

    最后一行使用str.format()构造一个字符串,用{0}的第一个参数替换format。通过这样做,您可以在字符串前添加b