如何在Python中创建sha1哈希值

2024-04-19 21:18:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我的目标是在python中使用智能卡执行“Hashsigning”。使用了hashlib,但python中没有特定的SHA1或SHA256函数。 我的工作:

hash_object = hashlib.sha1(b'HelWorld')
pbHash = hash_object.hexdigest()

但是我得到的散列对象的长度是28,而我应该得到14或20,这样我就可以打开条件

 switch ( dwHashLen )
{
case 0x14: // SHA1 hash
             call scard transmit
case 0x20: // SHA256 hash
}

如有任何帮助,我们将不胜感激。提前谢谢你


Tags: 对象函数目标objecthash条件sha1hashlib
1条回答
网友
1楼 · 发布于 2024-04-19 21:18:17

你实际上得到了40,十六进制是0x28。将十六进制散列解码为ASCII,如下所示

>>> import hashlib
>>> hash_object = hashlib.sha1(b'HelWorld')
>>> pbHash = hash_object.hexdigest()
>>> length = len(pbHash.decode("hex"))
>>> print length
20

或者简单地使用digest,而不是hexdigest建议的Dan D

相关问题 更多 >