我想使用sha1 alghoritm来计算某些数据的校验和,问题是python hashlib
输入是以字符串形式给出的。
是否可以在python中计算sha1,但不知何故将原始字节作为输入?
我在问,因为如果我想要计算文件的哈希值,在CI中会使用openssl
库并且只传递普通字节,但在Python中我需要传递字符串,所以如果我要计算哈希值一些特定的文件我会用两种语言得到不同的结果。
答案 0 :(得分:1)
在Python 2.x中,str
个对象可以是任意字节流。所以,是的,您可以将数据作为hashlib
s。{/ p>传递到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'