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