0

我想使用 sha1 算法来计算一些数据的校​​验和,问题是在 python 中hashlib输入是作为字符串给出的。

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

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

4

1 回答 1

4

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

>>> import hashlib
>>> "this is binary \0\1\2"
'this is binary \x00\x01\x02'
>>> hashlib.sha1("this is binary \0\1\2").hexdigest()
'17c27af39d476f662be60be7f25c8d3873041bb3'
于 2013-03-10T16:16:08.160 回答