跳到主要内容
Z

随机数生成器

生成符合密码学安全标准的随机整数——可自定义取值范围、数量、是否仅保留唯一值,并支持以十进制 / 二进制 / 八进制 / 十六进制格式输出。

免费 无需注册 客户端运行 注重隐私 Updated

使用方法

  1. 1 设置最小值(Min)、最大值(Max)和数量(Count)。
  2. 2 如需不放回抽样(结果不重复),可开启“仅生成唯一值”选项。
  3. 3 选择进制(十进制 / 二进制 / 八进制 / 十六进制)以及分隔符。

为什么使用此工具

  • 符合密码学安全标准——使用 Web Crypto API,而非 Math.random()。
  • 唯一值模式采用拒绝采样(rejection sampling)算法,在整个取值范围内均匀分布。
  • 支持 4 种进制输出——可直接粘贴到你的代码中使用。
  • 完全在客户端运行——你的数字永远不会离开浏览器。

常见问题

这些数字有多随机?

它们由 <code class="font-mono text-xs">crypto.getRandomValues()</code> 生成,并采用无偏均匀采样方法——在生成时就已消除模偏差(modulo-bias)问题。

单次最多能生成多少个数?

每次点击最多可生成 10,000 个数。在“仅生成唯一值”模式下,数量(count)必须小于等于取值范围的大小(range)。

为什么可以输入负数?

最小值和最大值都是带符号整数——你可以使用任意整数区间。

什么是 随机数生成器?

随机数生成器(Random Number Generator)是一款直接在浏览器中生成随机整数的工具,采用符合密码学标准的高强度随机源。用户可以设置取值范围与生成数量,选择结果是否仅保留唯一值,并以十进制、二进制、八进制或十六进制格式查看结果。整个生成过程完全在客户端完成,无需注册,也不经过任何服务器。

功能特性

密码学级强随机性

使用 crypto.getRandomValues() 为每个候选值获取 64 位数据,并丢弃超过该范围最大倍数的值,从而避免简单的 Math.random() * range 方式所引入的取模偏差。

支持十进制、二进制、八进制或十六进制输出

每个生成的整数均可格式化为十进制(base 10)、二进制(0b 前缀)、八进制(0o 前缀)或十六进制(0x 前缀,大写字母)。

仅唯一值模式

防止输出结果中出现重复值。范围不超过 100,000 时使用内存中的 Fisher-Yates 洗牌算法;范围更大时则改用基于 Set 的水塘抽样,直到收集到所需数量的不同值为止。

可自定义数量与分隔符

每次运行可生成 1 至 10,000 个数字,以换行符、逗号或空格连接,可直接从结果框中复制。

示例

Input

min=1, max=100, count=10, unique=true, base=10, separator=comma

Output

7, 42, 88, 15, 63, 29, 91, 3, 56, 74 (10 unique integers between 1 and 100, comma-separated)

常见使用场景

  1. 1

    抽奖与赠品活动开奖

    在已知范围内生成一组不重复的唯一中奖号码。

  2. 2

    抽样与测试数据生成

    生成十进制或十六进制的随机整数批次,用于初始化测试夹具、压力测试 ID 或统计抽样。

  3. 3

    游戏与桌面游戏工具

    在指定范围内(如 1-6、1-20)反复掷骰子,或为彩票类游戏抽取固定数量的不重复号码。

概要

使用浏览器的 Web Crypto API(crypto.getRandomValues)并结合拒绝采样(rejection sampling)方法,在用户设定的 [min, max] 范围内生成无偏均匀分布的随机整数,而非使用 Math.random()。每次最多支持生成 10,000 个数值,提供可选的仅唯一值模式(范围不超过 100,000 时使用 Fisher-Yates 洗牌算法,更大范围则通过 Set 实现水塘抽样),并支持十进制、二进制、八进制或十六进制格式输出。全部计算均在客户端通过 JavaScript 完成——不会将任何数字发送至服务器。

分类
创作者
价格
免费
隐私
基于浏览器
注册
无需

参考资料

隐私

除非另有说明,否则你的数据永远不会离开浏览器。随机数生成器 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。

相关工具

在 Zerethon Social 上创作、分享与成长

免费注册。赚取积分,收集成就,与全球创作者建立联系。

免费注册