【发布时间】:2011-01-15 12:12:54
【问题描述】:
hashlib Python 模块提供以下哈希算法构造函数:md5()、sha1()、sha224()、sha256()、sha384() 和 sha512()。
假设我不想使用 md5,使用 sha1 而不是 sha512 有很大区别吗?我想使用 hashlib.shaXXX(hashString).hexdigest() 之类的东西,但由于它只是用于缓存,我不确定我是否需要 512 的(最终)额外开销......
这种开销是否存在,如果存在,它有多大?
【问题讨论】:
-
如果是缓存,为什么需要安全哈希?
-
当您尝试不同的方法并测量它们的性能时,您发现了什么?
-
@GregHewgill 可能的意思是,有一个方便的标准库模块
timeit,它使这样的测量变得如此微不足道,以至于它比询问它更容易计时,尤其是在它运行时从命令行。 -
@GregS 你会用什么来代替安全哈希?我需要一个python dict的指纹(包含搜索参数),以便我可以确定(1)之前是否已经完成了此搜索,以及(2,如果是新搜索)搜索结果是否可用于显示。
-
我遵从 sttwister。由于我从交流中学到了一些东西,所以我赞成这个问题。