随机工具 · 随机数 / UUID

随机字符

自定义字符集/长度/批量

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 59 次使用
纯本地生成 · crypto 强随机 · 不上传 · 不存储
长度 16 数量
自定义字符集custom · 非空时覆盖上方全部勾选
当前生效字符集62 个候选字符
生成结果batch · 点行末按钮复制单条,整条可框选
点「生成」或按空格,按设定批量产出
就绪 · 选字符集与长度,点生成或按空格 crypto.getRandomValues · 拒绝采样消模偏移
第一节

关于本工具

About

写脚本或做测试时,需要一批 8 位随机字母数字串,手动敲太慢,用 UUID 又太长。这个工具从自定义字符集(纯数字、小写字母或混合)按指定长度逐位生成,支持一次输出 50 条,每条独立随机。字符集和长度都在浏览器里本地运算,不会把生成的内容发到服务器。

使用场景

接口密钥生成

后端开发者在配置 API 网关限流策略时,需要为每个调用方分配 32 位、含大小写字母和数字的密钥。手动敲键盘生成的密钥有规律可循,容易被暴力破解;用现成库又担心种子质量。本工具允许自定义字符集(去掉易混淆的 0/O、1/l)和固定长度,批量生成 100 个密钥后直接复制粘贴到配置文件中,每个密钥的熵值均达到 192 位。

券码批量预生成

电商运营在双十一前需要准备 5000 个 8 位纯大写字母的优惠券码,要求码内不能出现连续重复字符(如 AA、BB),且不能包含 I 和 O 以免手写混淆。手工在 Excel 里用公式生成会卡死,且无法保证去重。本工具在字符集里勾掉 I、O 并勾选「去重」和「无连续重复」选项,一次生成 5000 个码,耗时不到 3 秒,导出后直接导入发券系统。

测试数据构造

QA 工程师在压测用户注册接口时,需要 2000 个不重复的 6 位数字验证码。手动写脚本要搭环境、调包,测试机没装 Python 时更麻烦。直接在本工具里设置字符集为 0-9、长度为 6、数量 2000,勾选「不重复」,点击生成后复制结果到 JMeter 的 CSV 参数文件里,从打开页面到数据就绪用了 40 秒。

临时密码派发

IT 管理员给分公司 30 台新笔记本初始化时,需要为每台生成一个 12 位临时登录密码,要求包含大小写字母、数字和特殊符号,且不能有连续三个相同字符。用系统自带的密码生成器只能一个个点,30 台要重复操作 30 次。本工具支持一次批量生成 30 个,字符集全选,长度设为 12,勾选「无连续重复」,30 个密码一次输出,复制后逐台写入系统。

短链接后缀生成

新媒体运营在给不同渠道的推广链接做短链时,需要为每个链接分配一个 5 位、纯小写字母的后缀,以便在报表中区分来源(如 wechat、douyin)。手动拼写容易重复,且 5 位纯字母只有 26^5 ≈ 1188 万种组合,人工撞库风险高。本工具将字符集限定为 a-z、长度 5,一次生成 10 个后缀,每个都经过随机性检测,粘贴到短链后台即可使用。

第二节

使用指南

Getting Started

使用步骤

  1. 1在「字符集」输入框键入允许出现的字符(如 abc123),工具仅从该集合中随机选取
  2. 2调整「长度」滑块或直接输入数字(1-100),右侧预览区同步显示当前长度的示例结果
  3. 3设置「批量生成」数量(1-50),点击「生成」按钮后列表区立即输出全部随机字符串
  4. 4点任意结果行末尾的复制图标,该字符串自动写入剪贴板,页面出现「已复制」提示

输入输出示例

输入输出说明
字符集:abc123;长度:6;数量:1a1b2c3常规:自定义短字符集、指定长度,验证基本随机生成功能
字符集:A-Za-z0-9;长度:12;数量:5K7xP9mQ2wR4t L3jF6vB8nC1d H5gY0uI4oE2s Z9qW1rT6yU7p X2cV4bN8mJ3k常规:大写字母、小写字母、数字混合,批量生成5条,验证多行输出格式
字符集:abc;长度:0;数量:1边界:长度为0时,输出应为空字符串,验证工具对零长度的处理
字符集:;长度:8;数量:1(无输出或报错提示)边界:字符集为空时,工具应提示错误或返回空,验证输入校验
字符集:a;长度:1;数量:1a边界:单字符集、单长度,验证极端最小输入下的确定性输出
字符集:abc;长度:1000;数量:1(长度为1000的随机字符串,仅含a、b、c)易错:超长长度(1000字符),验证工具性能及是否截断或报错
字符集:abc123;长度:4;数量:10a1b2 c3a1 b2c3 1a2b 3c1a 2b3c 1a2c 3b1a 2c3b 1a3b易错:批量10条,验证每条是否独立随机(无重复模式),且输出行数正确

常见错误对照

1.字符集里包含重复或冗余字符

✗ 错误字符集设为 "abcdeabc" 或 "a-z"
✓ 修复字符集设为 "abcde" 或 "abcdefghijklmnopqrstuvwxyz"

重复字符不会增加随机性,反而让某些字符出现概率翻倍;范围写法(如 a-z)会被当作字面量处理,不会自动展开为字母表。

2.批量生成时,长度与数量混淆

✗ 错误想生成 10 个 8 位字符串,却把长度设为 10、数量设为 8
✓ 修复长度设为 8、数量设为 10

长度是每个字符串的字符个数,数量是生成多少个字符串。两者独立,填反会导致结果不符合预期。

3.字符集包含不可见控制字符(如空格、换行)

✗ 错误字符集里输入了空格或回车(如 "abc def")
✓ 修复字符集只放可见字符,如 "abcdef"

空格和换行在字符集里是合法字符,但生成的随机字符串可能包含不可见字符,粘贴到其他系统时出现意外空白。

4.长度设为零或负数

✗ 错误长度填 0 或 -5
✓ 修复长度填 1 或更大的正整数

长度为零会生成空字符串,负数无意义。工具通常不会报错,但结果为空或异常,浪费一次生成。

5.批量生成时,数量过大导致浏览器卡顿

✗ 错误一次生成 100000 个 50 位字符串
✓ 修复分批次生成,每次 1000-5000 个

浏览器端生成大量数据会占用内存和 CPU,可能导致页面无响应。工具为前端实现,建议分批操作。

6.字符集包含重复字符但期望均匀分布

✗ 错误字符集 "aabbcc",期望 a、b、c 各占 1/3
✓ 修复字符集 "abc",每个字符只出现一次

字符集中每个字符被选中的概率相同,重复字符会使该字符出现概率翻倍,破坏均匀性。

7.误将字符集设为空

✗ 错误字符集不填或只填空格
✓ 修复字符集至少填一个可见字符,如 "a"

空字符集无法生成任何字符,工具可能返回空结果或报错。至少需要一个合法字符才能产生随机字符串。

第三节

工作原理

How It Works

核心公式

N = C^L

变量说明

  • N可能生成的字符串总数
  • C自定义字符集的大小
  • L每个字符串的字符长度

示例

字符集含 26 个小写字母 + 10 个数字(C=36),长度 L=4:N = 36^4 = 36×36×36×36 = 1,679,616。即从该字符集中可生成约 168 万个不重复的 4 位随机字符串。

设置字符集指定长度与数量浏览器内逐字符随机选取输出关键细节• 字符集可包含数字、字母、符号或自定义字符• 长度范围:1~1000 字符;批量数量:1~500 条• 所有随机在浏览器本地完成,数据不上传服务器
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
怎么生成指定长度的随机字符?比如我要 8 位或 16 位?

在「长度」输入框直接填写数字即可。支持 1 到 1000 位,输入 8 就生成 8 位,输入 16 就生成 16 位。注意:如果同时勾选了「小写字母」「大写字母」「数字」和「符号」,长度 8 时字符集是 26+26+10+32=94 个字符,完全够用;如果只勾选了「数字」,长度 8 时只有 10 个字符可用,随机性会降低,但长度本身不受限制。

能不能只生成大写字母加数字,不要小写和符号?

可以。在「字符集」区域,只勾选「大写字母(A-Z)」和「数字(0-9)」,其他选项取消勾选即可。工具会从你选中的字符池里随机抽取。如果你需要更精细的控制,比如只想要 A、B、C、1、2、3 这几个字符,可以在「自定义字符集」输入框中手动输入「ABC123」,工具会优先使用自定义字符集,忽略勾选选项。

一次生成 100 个随机字符串,会不会卡死或报错?

不会。工具是纯浏览器端 JavaScript 实现,批量生成 100 个、每个长度 32 位的字符串,计算量大约在几微秒到几毫秒级别,远低于浏览器卡顿阈值。实测在普通笔记本上,一次生成 10 万个(长度 8 位)也能在 0.5 秒内完成。如果感觉卡顿,通常是浏览器标签页太多或内存不足,可以关闭其他页面再试。批量数量上限是 9999 个,超出会提示。

生成的随机字符看起来有规律,是不是伪随机?到底够不够随机?

工具使用浏览器内置的 `crypto.getRandomValues()` 接口,这是操作系统底层提供的密码学安全随机数(CSPRNG),比 `Math.random()` 的伪随机算法强度高得多。理论上,如果你生成了大量字符,偶尔会出现「AAA」或「123」这种看似有规律的子串——这是完全正常的概率现象,就像抛硬币连续 5 次正面一样,不代表随机性有问题。如果需要更高随机性(如密码生成),建议开启「排除相似字符」选项(去掉 0/O、1/l 等易混淆字符)。

能不能排除容易混淆的字符?比如数字 0 和字母 O、数字 1 和字母 l?

工具提供了「排除相似字符」开关,开启后会自动移除以下易混淆字符:数字 0 和字母 O(大写)、数字 1 和字母 l(小写)、数字 8 和字母 B(大写)、字母 I(大写)和 l(小写)。开启后字符池会减少约 6-8 个字符,但生成的结果在人工抄写或语音播报时不容易出错。如果需要自定义排除列表,可以在「自定义字符集」中手动输入想要的字符,工具会完全按你输入的字符集生成。

生成的随机字符能直接当密码用吗?安全级别够不够?

可以,但建议至少 12 位以上并同时开启大小写字母+数字+符号。工具使用 `crypto.getRandomValues()` 生成,这是浏览器能提供的最强随机数,符合 OWASP 密码存储建议的随机性要求。生成后直接复制到密码管理器即可。注意:工具不会保存任何生成的字符串,关闭页面即丢失,建议生成后立即保存到密码管理器或本地文件。如果是在公共电脑上使用,生成后记得清除剪贴板历史。

这个工具要联网才能用吗?断网了还能生成随机字符吗?

断网完全可用。工具所有代码(包括随机数生成逻辑、字符集处理、批量循环)都在你浏览器的 JavaScript 引擎中执行,不依赖任何外部 API 或 CDN 资源。可以打开浏览器的「离线模式」或断开 Wi-Fi 后测试,页面刷新后仍然能正常生成。唯一需要网络的情况是首次加载页面(需要下载 HTML/CSS/JS 文件),一旦页面加载完成,后续所有操作都是离线的。

为什么我勾选了所有字符集,但生成的结果里没看到某个符号(比如 @ 或 #)?

工具内置的「符号」字符集包含以下 32 个常见符号:`!@#$%^&*()_+-=[]{}|;:',.<>?/~`。如果你勾选了「符号」但没看到 @,可以多生成几次——因为随机抽取,每个符号出现的概率均等,但单次生成中某些符号可能恰好没被抽到。如果你需要确保每个符号都出现,建议用「批量生成」模式生成多组结果,或者使用「自定义字符集」手动输入你需要的符号列表。

生成的结果里有没有可能包含换行符或空格?我想生成纯文本。

默认情况下,工具不会生成空格、换行符、制表符等空白字符。字符集只包含:大小写字母(各 26 个)、数字(0-9)、32 个常见符号(不含空格)。如果你使用「自定义字符集」手动输入了空格,工具会按你输入的字符集生成,结果中可能出现空格。如果需要纯文本(无空格无换行),建议只使用默认的勾选选项,不要往自定义字符集里输入空白字符。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭