如何生成"随机"但也是"唯一"数字?

Syn*_*ter 11 c# random

如何生成随机数.诸如java等语言如何生成随机数,尤其是如何为GUID完成.我发现像Pseudorandomnumber生成器这样的算法使用初始值.

但我需要创建一个随机数程序,其中一次发生的数字应该永远不会重复,即使系统重新启动等等.我认为我需要将值存储在任何地方,以便我可以检查数字是否重复,但当列表超出限制时,它会太复杂.

Han*_*Gay 18

第一:如果保证数字永远不会重复,那就不是很随机了.

第二:有很多PRNG算法.

更新:

第三:有一个用于UUID的IETF RFC(MS什么叫GUID)的,但你应该认识到,(U | G)的UID是加密的安全,如果这是你所关心.

更新2:

如果你想在生产代码中实际使用这样的东西(不只是为了你自己的启发),使用预先存在的库.如果你以前从未做过(或者即使你有),那么这种代码几乎可以保证在其中有微妙的错误.

更新3:

这是.NET的GUID文档