【发布时间】:2012-03-18 19:53:18
【问题描述】:
是否存在独立于编程平台/语言的随机数生成器? 给定种子的一系列库将返回完全相同的(显然是伪)随机数序列,并且存在于最常用的编程语言/平台(至少 C、JMV、CLI、php、python)并保证平台兼容性(win/linux/mac/android)
我知道我可以自己实现一个众所周知的算法,但我们都知道编写一个随机数生成。是困难的,所以一个防弹的实现可能是一件好事。
【问题讨论】:
-
你能提供一个独立于语言的随机数生成器的原因吗?我很难理解您的用例。
-
我正在考虑创建一个协议来在线玩纸牌游戏。由于它是一个协议,它应该是平台不可知论者和编程语言不可知论者。它的范围将非常广泛(不仅允许扑克,还允许CCG),因此密码学和强大的随机生成器是必须的。这个想法是两个客户端都实例化一个种子来让游戏中的随机事件发生,但是当游戏结束时,必须与其他方共享他们的本地种子,看看他们是否cheaded。
-
@Wishper:你将如何防止人们对他们的本地种子撒谎?
-
@Marcin 该协议的研究方式使得暴力破解种子非常困难,以便“让掷骰子得到想要的结果”但是我会在问更多问题之前研究心理扑克
-
@Wishper:我不是随机数生成方面的专家,但请考虑在每次“抛出”时使用蛮力以外的方法更新种子是否可行。
标签: language-agnostic random cross-platform