【发布时间】:2016-02-18 09:25:58
【问题描述】:
有一个网站可以玩轮盘赌,你只能放颜色(红色,黑色 = 双倍,绿色 = 14x)
掷骰数按以下方式计算:
每 24 小时都有一个 serverSeed 这是过去某个时间生成的预计算值。 种子是在一个链中生成的,这样今天的种子就是明天种子的哈希。由于无法逆转 SHA-256,我们可以通过从预先计算的链向后工作来证明每个种子都是提前生成的。
也有 lotto 和 round_id,但只给了他们 serverSeed 隐藏到第二天。
例子:
$server_seed = "39b7d32fcb743c244c569a56d6de4dc27577d6277d6cf155bdcba6d05befcb34";
$lotto = "0422262831";
$round_id = "1";
$hash = hash("sha256",$server_seed."-".$lotto."-".$round_id);
$roll = hexdec(substr($hash,0,8)) % 15;
echo "Round $round_id = $roll";
这就是每轮生成一个新哈希的方式,因为每轮轮次 ID 增加 1,serverSeed 和乐透一整天都保持不变。
网站上还有一个历史页面,您可以在其中查看过去每卷颜色和数字。
我的问题:有没有办法通过已经滚动的数字来计算下一个滚动? (我不谈论反转 SHA256 serverSeed 或类似的东西!!!)
但这真的没有数学吗?
我知道它可能是随机的,但我无法想象这是随机的。
这是昨天的卷,您也可以在其中看到回合 ID。
我看到卷子有时会重复很多次,但有时不是...我不敢相信它没有任何数学内容。
等待答案...
【问题讨论】:
标签: math random repeat sha256 seed