21

Pythonでhashlib.md5のインスタンスをフラッシュ(またはリセット)して再利用するにはどうすればよいですか?スクリプトで複数のハッシュ操作を実行している場合、毎回hashlib.md5の新しいインスタンスを使用するのは非効率的ですが、Pythonのドキュメントから、インスタンスをフラッシュまたはリセットする方法がわかりません。

4

2 に答える 2

7

なぜ新しいものを作るのは非効率的だと思いますか?それは小さなオブジェクトであり、オブジェクトは常に作成および破棄されます。新しいものを使用してください、そしてそれについて心配しないでください。

于 2010-11-09T13:00:59.907 に答える
-2

これが私がやったことです。ハッシュオブジェクトを再初期化する小さなラッパーを書くだけです。コード作成の不格好さは処理しますが、実行時の効率は向上しない可能性があります。

def Hasher(object):
    def __init__(self):
        self.md5 = hashlib.md5()

    def get_hash(self, o):
        self.md5.update(o)
        my_hash = self.md5.digest()
        self.md5 = hashlib.md5()
        return my_hash
于 2013-10-28T14:44:11.137 に答える