计算对象的哈希值,python

Mar*_*III 0 python hashlib python-3.x blockchain

我有一个带有字符串数据的类,我应该使用hashlib.sha256(). 例如,我无法直接使用块 c 获取哈希

Hash = hashlib.sha256(c.encode()).digest()
Run Code Online (Sandbox Code Playgroud)

我想计算整个对象的散列,有人建议我在类中有一个函数,以便它返回其中的数据散列。它与整个块的相同吗?什么是更好的实施?

JOH*_*_16 5

你需要__hash__为你的类实现魔法方法。然后你可以使用你的类的实例,例如,作为字典的键。如果您只需要获取散列,那么使用内置函数很简单hash

   c = MyClass()
   c_hash = hash(c)
Run Code Online (Sandbox Code Playgroud)