os.urandom公司或者ssl.RAND\u字节?

2024-04-26 04:54:27 发布

您现在位置:Python中文网/ 问答频道 /正文

os.urandomssl.RAND_bytes:在为加密目的生成随机字节时,建议使用哪种方法?在

如果两个都不是更好的,有什么取舍和期望从每个方面的差异?在

请注意ssl.RAND_字节只存在于Python3中。在


Tags: 方法目的ssl字节bytesos差异urandom
1条回答
网友
1楼 · 发布于 2024-04-26 04:54:27

ssl.RAND_bytes需要先设定种子才能使用。所以你不能仅仅依赖ssl.RAND_bytesos.urandom和{}都是随机数生成器。PRNG是确定性的;当使用相同的数据播种时,它们将返回相同的伪随机数字节流。如果观察者不知道种子值,那么这些字节应该与真随机数没有区别。os.urandom不过,通常是使用操作系统中的熵源(重新)进行种子设定的。在

因此,应该优先使用os.urandom,而不是ssl.RAND_bytes。首先,它已经被植入(并且将由操作系统重新设定种子)。此外,它不需要额外依赖于SSL库。缺点可能是性能。使用os.urandom中足够大的值来使用ssl.RAND_bytes可能更快,因为os.urandom需要在任何时候检索数据时进行系统调用。在

相关问题 更多 >