质量检测原理

巨公摇号平台采用的质量检测标准为《美国随机数生成器国家标准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 SM3:c2f1bcce8cad2c3588f31a62db124d79e3a50ca3a858ee7d6a24c13e1557fbf9)第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}}

分级随机种子分布统计

为了方便用户更加快速并直观的了解分级随机种子的随机分布情况。巨公摇号平台将最近(缓存10分钟)生成的10000条随机种子进行奇偶和10段区间分布统计。

奇数/偶数 479001600/10 479001600/10*2 479001600/10*3 479001600/10*4 479001600/10*5 479001600/10*6 479001600/10*7 479001600/10*8 479001600/10*9 479001600
{{minNumDatas.oddCount + '/' + minNumDatas.evenCount}} {{minNumDatas.area1}} {{minNumDatas.area2}} {{minNumDatas.area3}} {{minNumDatas.area4}} {{minNumDatas.area5}} {{minNumDatas.area6}} {{minNumDatas.area7}} {{minNumDatas.area8}} {{minNumDatas.area9}} {{minNumDatas.area10}}

中国国家密码局标准摘要算法(SM3)计算工具

可执行程序下载地址:https://share.weiyun.com/C1TqQfY4。程序的使用命令为:java -jar SM3Test.jar filePath,具体使用方法可以参考直播存证摇奖的视频教程 。工具的源代码包下载地址:https://share.weiyun.com/i0n3CRyp

客服微信二维码
Tel:4006913558