哪些种子用于常见语言中的本地随机数生成器

Which seeds are used for native random number generators in common languages?

本文关键字:随机数生成器 语言 种子 用于 常见      更新时间:2023-09-26

我感兴趣的是找出哪些种子用于常见语言中的原生随机数生成器。主要是Javascript、Objective C、Swift和Java。

如果您想在分布式系统中生成唯一的id,则需要将冲突风险降至最低。一种策略是使用与随机数连接的UNIX时间戳。但是,如果UNIX时间戳也用作随机数生成器的唯一种子,那么在时间戳中添加随机数是没有意义的。如果两个单元使用相同的伪随机生成器同时计算一个id,那么它们也会返回相同的随机数。我认为,使用特定于硬件的id作为种子的一部分是一个很好的策略。但是它实际上是如何在这些语言中实现的呢?

这是一个平台/框架问题,而不是语言问题。

我建议在所有平台上生成UUID。UUID被设计为完全唯一。iOS/AMac操作系统具有NSUUID。我不知道其他平台的情况。