美文网首页
关于Betdice随机数生成原理(转)

关于Betdice随机数生成原理(转)

作者: Purson | 来源:发表于2019-01-21 11:56 被阅读0次

比如这么一个数据:Memo: action:bet,seed:QPg1ljFnTPx1IarB1E,rollUnder:84

當你投注時你會寫了一組這樣的memo,你可以留意一下。這個memo上有你投注的信息,還有你所提交的SEED。基本上種子你可以隨便改,但固定的種子也不會出現同一個答案, 因為還有其他因素在最終種子上,你所提交的種子只是種子的部份。

username:seed:gameid,類似這樣就成為最終的種子了。

例如你的username是 iamusername1;

seed你可以隨便輸入 this_is_my_seed;

gameid 第一局就是1, 每進行一場就加1;

所以最終的種子就是 iamusername1:this_is_my_seed:1

所以每個玩家的種子都是獨立,並不能重複產生,而且種子沒有我們的參數,所以我們是無法去作弊,亦即是可驗証公平的原理,如果我們作弊,答案就驗証不了。因為所有種子的參數都是你提交的訊息,然後經過哈希加密,製作出哈希,例如sha256會出現: 38A6236BE5D88F9AB8288779B8FBA1A944B05088492A4E40CD9C544AFED81FE8。哈希加密是極度敏感,而且是不可逆的,結果是可判斷,即是同一個種子就有同一個答案。然後再在哈希算法的結果後獲取最後 32bits就是最終的答案,因為32bits就是電腦數字的大小,所以每一場答案都是可判斷可甶覆驗証。

转自:https://zhuanlan.zhihu.com/p/46281534

相关文章

  • 关于Betdice随机数生成原理(转)

    比如这么一个数据:Memo: action:bet,seed:QPg1ljFnTPx1IarB1E,rollUnd...

  • android_id 生成原理

    android_id 的生成原理是由系统生成的随机数,并与应用 app 签名,经过 HmacSHA256 算法生成...

  • 用C++打造一个简单的彩票号码生成器!

    VC++根据随机数原理编写的彩票号码生成器源代码,程序不是太完善,是个半成品,设置号码个数和随机数范围即可生成号码...

  • C++随机数

    C++ 随机数 在许多情况下,需要生成随机数。关于随机数生成器,有两个相关的函数。一个是 rand(),该函数只返...

  • js生成随机字符串

    原理另行讨论,这里只讲使用 基于上述代码,封装可以得到如下函数生成n位随机数

  • 在以太坊生成随机数的几种方式(含代码)

    一、什么是随机数 随机数都是由随机数生成器(Random Number Generator)生成的。随机数分为”真...

  • 生成随机数

    两个C函数 rand()函数生成的随机数是伪随机数,所谓伪随机数,指的是程序每次运行,生成的随机数都是不变的,生成...

  • Golang生成随机数的方法总结

    生成区间随机数 生成指定区间随机数(包括纯数字/纯字母/随机)

  • PHP生成随机数

    PHP生成随机数,相信大家在做项目的时候是最常见的吧。js生成随机数,PHP生成随机数。 应用场景:用户注册/登录...

  • Excel怎么生成随机数?

    Excel怎么生成随机数?如何生成指定范围内的随机数呢?可以在Excel中使用函数,生成随机数。 1、在单元格中输...

网友评论

      本文标题:关于Betdice随机数生成原理(转)

      本文链接:https://www.haomeiwen.com/subject/gffcjqtx.html