质量检测原理

巨公摇号平台采用的质量检测标准为《美国随机数生成器国家标准NIST SP800-22》( 网址:https://csrc.nist.gov/Projects/Random-Bit-Generation/Documentation-and-Software),采用的质量参考基准为ORACLE JDK1.8中的java.security.SecureRandom在Centos7操作系统运行时产生的随机数序列。巨公摇号平台所有摇奖类型均通过上述质量检测。

检测方法示例

第一步,我们可以采用ORACLE JDK1.8中的java.security.SecureRandom在Centos7操作系统运行时产生1个随机数(下称原始随机因子)。第二步,将原始随机因子以100000000为除数取余得出余数M,然后从散列随机数集合(文件公示地址:https://share.weiyun.com/7HcK5Pqu MD5:0cad8e6ccaa186061e57ede1d3900f27)第M+1(含)行开始取1024个随机数(下称散列随机因子)。第三步,通过上述散列随机因子从1至16384按序排列号码中抽取1024个摇中序号(具体抽取算法可参考现场大屏抽奖摇号痕迹中的算法)。 第四步,将上述1024个摇中的每个编号转换成14位的二进制数并保存到随机数质量检测文件中。将上述四步重复7000次得出一个包含100352000个二进制数字的随机数质量检测文件。最后用《美国随机数生成器国家标准NIST SP800-22》中的检测程序对随机数质量检测文件进行检测并分析检测结果。本示例已将关键步骤进行了示范,读者可据此自行实现检测工具进行检测校验。如果您对于上述步骤或检测细节有任何疑问,欢迎您随时和我们沟通。

简易检测示例

为了方便用户更加快速并直观的了解巨公摇号平台的摇奖质量,我们每日生成一份简易检测数据报告。巨公摇号平台每日执行10000次摇奖(每次从1至100的按序排列编号中抽取5名一等奖、10名二等奖、20名三等奖),然后计算1至100编号中每个号码中奖次数是否和按照中奖概率(一等奖5%、二等奖10%、三等奖20%)计算出来的次数是否接近。

摇奖日志 {{simpleTestData.day1DateStr}}摇奖日志下载 {{simpleTestData.day2DateStr}}摇奖日志下载
编号 中一等奖次数 中二等奖次数 中三等奖次数 中一等奖次数 中二等奖次数 中三等奖次数
{{item.no}} {{item.day1p1}} {{item.day1p2}} {{item.day1p3}} {{item.day2p1}} {{item.day2p2}} {{item.day2p3}}