开源一个最公平的抽奖小程序

小程序目前已上线, 可以搜索【幸运抽礼物】看到

开发这个小程序的想法是因为在知乎上看到讨论公平抽奖问题答案中引用的一篇文章 原文地址。讲如何保证抽奖算法的公平性的,感觉很有意思。

瞬间心血来潮开发了这个小程序,抽奖原理借鉴了文章中的一部分思路。

抽奖流程:

  1. 用户点击抽奖后台生成一个中奖码:抽奖序号_时间
  2. 开奖到期之后会调用雪球的一个获取当前股票行情中上证指数的值S,将该值S与中奖码放一起并用他们对应的md5排序,最接近S的md5值对应的中奖吗即为中奖用户。
  3. 中奖后会公布中奖用户以及中奖验证数据

这个流程基本可以满足与文章中类似的中奖公平性

  1. 中奖的随机因子为上证指数,基本不可以被人为控制
  2. 中奖事先无法预测,中奖后人人都可以简单验证
  3. 中奖码的一小点改动都会使其md5发生很大的无规律的改变,每个人中奖的概率基本是相等的。
    目前只做了一个用户中奖的情况。

github地址: https://github.com/xuhuaxy/lo...
(留个star再走呗~~)

主要界面有
开源一个最公平的抽奖小程序_第1张图片
开源一个最公平的抽奖小程序_第2张图片
开源一个最公平的抽奖小程序_第3张图片
开源一个最公平的抽奖小程序_第4张图片
开源一个最公平的抽奖小程序_第5张图片

你可能感兴趣的:(前端javascript)