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 回答