Python - 哈希二进制值

时间:2013-03-10 16:08:13

标签: python sha1

我想使用sha1 alghoritm来计算某些数据的校​​验和,问题是python hashlib输入是以字符串形式给出的。

是否可以在python中计算sha1,但不知何故将原始字节作为输入?

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

1 个答案:

答案 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'