我正在和一个朋友一起开发一个项目,我们需要生成随机哈希。在我们有时间讨论之前,我们都提出了不同的方法,并且因为他们使用不同的模块,我想问你们大家什么会更好——如果有这样的事情的话。
hashlib.sha1(str(random.random())).hexdigest()
or
os.urandom(16).encode('hex')
输入这个问题让我觉得第二种方法更好。简单总比复杂好。如果您同意,那么“随机”生成哈希值的可靠性如何?我将如何测试这个?
这个解决方案:
os.urandom(16).encode('hex')
是自从它以来最好的使用操作系统 http://docs.python.org/library/os.html#os.urandom产生随机性should可用于加密目的(取决于操作系统实现)。
random.random()
产生伪随机值 http://docs.python.org/library/random.html.
对随机值进行哈希处理不会添加任何新的随机性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)