Python散列二进制值

2024-10-01 13:31:54 发布

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

我想用sha1alghoritm计算一些数据的校验和,问题是在python中hashlib输入是以字符串形式给出的。在

在python中可以计算sha1,但以某种方式将原始字节作为输入?在

我问这个问题是因为如果我想计算一个文件的哈希值,在C语言中,我会使用openssl库并只传递普通字节,但在Python中我需要传递字符串,所以如果我要计算某个特定文件的哈希值,那么在两种语言中会得到不同的结果。在


Tags: 文件数据字符串语言字节方式校验sha1
1条回答
网友
1楼 · 发布于 2024-10-01 13:31:54

在python2.x中,str对象可以是任意字节流。所以是的,您可以将数据作为strs的形式传递到hashlib函数中

>>> import hashlib
>>> "this is binary \0\1\2"
'this is binary \x00\x01\x02'
>>> hashlib.sha1("this is binary \0\1\2").hexdigest()
'17c27af39d476f662be60be7f25c8d3873041bb3'

相关问题 更多 >