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 に答える