如何重用hashlib.md5的实例

时间:2010-11-09 12:50:37

标签: python md5 hashlib

如何在python中刷新(或重置)并重用hashlib.md5的实例?如果我在脚本中执行多个散列操作,每次使用hashlib.md5的新实例似乎效率低下,但是从python文档中我看不到任何方法来刷新或重置实例。

2 个答案:

答案 0 :(得分:8)

为什么你认为制作一个新的效率低下?它是一个小对象,并且始终创建和销毁对象。使用新的,不要担心。

答案 1 :(得分:-1)

这就是我所做的,只需编写一个重新初始化哈希对象的包装器。处理代码编写的笨拙,但可能不是运行时的效率。

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