我知道如何使用time.h的时钟函数生成随机数,是否有其他方法可以不使用系统时钟来实现
答案 0 :(得分:2)
这是计算中的一个难题,因为计算机从根本上说是确定性机器,并且在没有外部熵源的情况下无法生成随机数。将伪随机数生成器植入当前系统时间足以模拟“真正的随机性”。
如果您希望避免播种到当前系统时间,并且仍然从PRNG生成唯一编号,则可以使用以下一些选项(请注意,我假设您并不是在谈论打算用于{{3} },它还有许多其他要求):
话说回来,其中大部分可能是过度杀伤力。为什么不使用当前系统时间作为种子?大多数开发人员都是这样做的,直到他们需要真正不可预测的东西(如CSPRNG)。