Python 检查具有相同数据的哈希和=>始终为2个不同的和

Python 检查具有相同数据的哈希和=>始终为2个不同的和,python,hash,cryptography,pycrypto,pycryptodome,Python,Hash,Cryptography,Pycrypto,Pycryptodome,我正在用Python开发一个工作证明系统。 为了生成哈希值,我使用这个函数 从Cryptodome.Hash导入SHA256 def blockhashsender、msg、签名、nonce、时间戳: h=SHA256.new hash_str=strsender+strmsg+strsignature+strnonce+strtimestamp h、 更新hash_str.encode finalhash=h.hexdigest 返回finalhash 当我生成一个事务时,它将进行工作证明,同

我正在用Python开发一个工作证明系统。 为了生成哈希值,我使用这个函数

从Cryptodome.Hash导入SHA256 def blockhashsender、msg、签名、nonce、时间戳: h=SHA256.new hash_str=strsender+strmsg+strsignature+strnonce+strtimestamp h、 更新hash_str.encode finalhash=h.hexdigest 返回finalhash 当我生成一个事务时,它将进行工作证明,同时将其递增1,并查看哈希是否以4个零开始

而finalhash[:4]!=0000: finalhash=blockhashself.sender、self.msg、self.signature、self.nonce、self.timestamp self.nonce+=1 printstrself.nonce 印芬纳什 如果事务以两个零开始,它会将该文件放入字典中。这本词典被写入一个文本文件。当我想验证这个事务并查看值是否与哈希值真正匹配时,即使数据相同,我也总是得到错误的哈希值

finalhash=blockhasht[sender],t[msg],t[signature],t[nonce],t[timestamp] 编辑: 输入值全部转换为字符串。sender、msg和signature是字节,其中nonce是整数,timestamp是浮点。

解决方案: 我自己发现的。 nonce稍后将递增。 如果我想找出需要将nonce减少1的散列,那么它匹配。
我的错误。在计算散列之前,只需将self.nonce+=1放入即可

如何生成nonce?如果每次通话都是随机的。。。请提供这一部分,too@kelalakanonce从零开始,如果哈希不匹配,它将由oneSolution递增,这是我自己的一个简单错误