哪些种子用于通用语言中的本机随机数生成器?
Posted
技术标签:
【中文标题】哪些种子用于通用语言中的本机随机数生成器?【英文标题】:Which seeds are used for native random number generators in common languages? 【发布时间】:2015-11-24 20:57:21 【问题描述】:我有兴趣找出哪些种子用于通用语言中的本机随机数生成器。主要是 javascript、Objective C、Swift 和 Java。
如果您想在分布式系统中生成唯一的 ID,您希望将冲突风险降至最低。一种策略是使用与随机数连接的 UNIX 时间戳。但是,如果 UNIX 时间戳也用作随机数生成器的唯一种子,则将随机数添加到时间戳是没有意义的。如果两个单元同时使用相同的伪随机生成器计算一个 id,那么它们也会返回相同的随机数。我认为,使用特定于硬件的 id 作为种子的一部分将是一个很好的策略。但它是如何在这些语言中实际实现的呢?
【问题讨论】:
“android”不是一种语言。你是说 Android Java 吗? 【参考方案1】:这是一个平台/框架问题,而不是语言问题。
我建议在所有平台上生成 UUID。 UUID 被设计成完全独特的。 ios/Mac OS 有 NSUUID。其他平台我不知道。
【讨论】:
以上是关于哪些种子用于通用语言中的本机随机数生成器?的主要内容,如果未能解决你的问题,请参考以下文章