Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想使用 sha1 算法来计算一些数据的校验和,问题是在 python 中hashlib输入是作为字符串给出的。
hashlib
是否可以在 python 中计算 sha1,但以某种方式将原始字节作为输入?
我问是因为如果我想计算文件的哈希值,在 CI 中将使用openssl库并只传递普通字节,但在 Python 中我需要传递字符串,所以如果我要计算某个特定文件的哈希值,我会得到不同的结果两种语言。
openssl
在 Python 2.x 中,str对象可以是任意字节流。所以是的,您可以将数据hashlib作为strs 传递给函数。
str
>>> import hashlib >>> "this is binary \0\1\2" 'this is binary \x00\x01\x02' >>> hashlib.sha1("this is binary \0\1\2").hexdigest() '17c27af39d476f662be60be7f25c8d3873041bb3'