博客
简体中文

在线抽奖工具 — 随机抽取中奖者并生成凭证

不重复抽奖,附带抽奖时间和 SHA-256 哈希的凭证图片

在浏览器中处理 · 不上传任何内容

0 条报名(0 个不同的名字)

关闭后,同一个名字写多行就能增加中奖机会。但每人最多只会中奖一次。

抽奖方式

抽奖结果

还没有抽奖。

名单哈希(SHA-256)

这个哈希只用来确认名单是否有哪怕一个字的改动。粘贴相同的名单(顺序也相同)会得到相同的值。

当前名单的哈希

—

抽奖时间取自本设备的时钟,可以被随意修改。哈希只能说明在你公开哈希之后名单没有被改动,既不能证明名单何时存在,也不能证明抽奖是随机的。

链接里只有参与者的名字,不含抽奖结果。名单含个人信息时请勿分享。

工具简介

适用于抽奖活动、发言顺序、值日安排和班级奖励等,需要从参与者名单中选出几个人的场合。每行输入一位参与者,设置中奖人数和候补人数,工具会不重复地抽取。可以一次全部抽完,也可以一个一个抽,制造悬念。抽奖结束后,可以保存一张凭证图片(PNG),上面有抽奖时间、报名数、参与者名单的 SHA-256 哈希和中奖者。页面上也明确说明:哈希只能证明名单没有被改动,不能证明抽奖是随机的。

使用方法

  1. 在名单中输入参与者,每行一个,或用逗号分隔(中文逗号“,”和顿号“、”也可以)。下方会随着输入实时显示当前名单的哈希。
  2. 保持“同名只算一次”开启,即可合并重复的名字。
  3. 输入中奖人数和候补人数。
  4. 选择 一次抽完 或 逐个抽取,然后点击抽奖按钮。
  5. 结果下方会显示抽奖时间(本地时间、UTC 时差和时区名称)以及哈希。可以用 保存凭证图片(PNG) 保存凭证,或用 复制结果 复制文本。

工作原理

  • 不重复:每一行是一张抽奖券。抽中一张后,该名字会从之后的所有抽取中移除,因此中奖者和候补都是不同的人。
  • 限制:中奖人数加候补人数不能超过不同名字的数量,最多可输入 10,000 条报名。
  • 随机性:随机值来自 crypto.getRandomValues,无取模偏差,不使用 Math.random。
  • 名单哈希:按输入顺序把参与者用换行符连接,以 UTF-8 编码后计算 SHA-256。顺序不同,哈希也不同。
  • 结果哈希:每位中奖者一行 W:名字,之后每位候补一行 R:名字,对这些内容计算 SHA-256。
  • 抽奖时间:抽奖结束那一刻的浏览器时钟,格式如 2026-10-03 14:05:12 (UTC+08:00, Asia/Shanghai)。设备时钟不准,时间也就不准;需要正式证据时,请使用可信的时间来源。
  • 哈希做不到的事:它只能检测改动,无法证明中奖者是公平选出的。

示例

参与者 设置 结果
张伟、王芳、李娜、刘洋、陈静、杨帆 1 位中奖者 6 人中抽 1 人
同上 2 位中奖者 + 2 位候补 4 个不同的人
张伟、张伟、王芳(保留重复) 1 位中奖者 张伟 2/3,王芳 1/3
同上,合并重复 1 位中奖者 张伟、王芳各 1/2

常见问题

凭证图片上的哈希能证明什么?

它是参与者名单的 SHA-256 值,粘贴相同的名单(顺序也相同)会得到相同的哈希。公开哈希之后,你可以证明名单之后没有被改动过哪怕一个字。不过抽奖时间取自你设备的时钟,可以被修改,哈希也不能证明名单是何时创建的。图片中不含名单本身,请另行保存,以便日后核对。

哈希能证明抽奖是随机的吗?

不能。哈希只能看出名单或结果事后是否被改动,无法说明中奖者是否被公平地选出。本工具使用浏览器的加密随机数,但别人无法从图片中验证这一点。对于重要的抽奖,建议共享屏幕,当着参与者的面抽取。

同一个人会中奖两次吗?

不会。保持“同名只算一次”开启时,重复的行会被合并。关闭后,每多写一行就多一张抽奖券,提高该名字的中奖机会;但一个名字一旦被抽中,就不会再参加后面的抽取。

逐个抽取是怎么进行的?

第一次点击会锁定名单并抽出一位中奖者。之后每点一次“抽下一位中奖者”就再抽一位,中奖者抽完后继续抽候补。最后一位抽出时,时间和哈希就会确定。抽取过程中无法修改名单。

我的名单会被保存到哪里吗?

不会。抽奖、计算哈希和生成图片都在浏览器中完成。只有点击按钮时才会生成分享链接,参与者名字会写进网址“#”后面的部分。这部分不会发送到服务器,但收到链接的人都能看到,所以含有个人信息的名单请不要分享。

没找到想要的工具?