随机字符串批量生成工具 - 五岁小孩

加载中...

生成参数
小写 a-z 大写 A-Z 数字 0-9 符号 !@#
留空则使用上方勾选的字符类别。
两端填相同数值即为固定长度,取值范围 1 - 256。
单次最多 10000 条。
生成结果
实际条数 0
字符池容量 0
长度区间 -
总字符数 0
这个工具解决什么问题
写脚本造测试数据、给一批账号发临时口令、给活动做兑换码,往往需要一次性拿到几十上千条互不相同的乱码字符串。手写不现实,临时写代码又嫌麻烦。

这个页面把这件事变成了几次点击:先选好允许出现哪些字符,再定下长度区间和条数,点一下就能得到整齐的一列结果。想让每条都带上项目缩写做前缀、想避开容易看错的 0 和 O、想确保没有任何两条撞车,这些开关都摆在左边随手可调。

随机数并非取自常见的 Math.random,而是调用浏览器内置的 crypto.getRandomValues 加密级接口,输出的分布更均匀、更难被预测,拿来做邀请码或临时密钥也放心。整个过程不经过服务器,参数和结果都留在你自己的浏览器里。
三步拿到结果
第一步,圈定字符范围。点亮需要的字符类别标签;若有特殊要求(比如只要十六进制字符、只要不含元音的字母),直接把它们粘进「自定义字符池」,该输入框一旦有内容就会覆盖上方的勾选。

第二步,设定长度与数量。长度区间的两端填成一样就是定长,填成不一样则每条在区间内随机取值。条数上限 1 万,需要更多可以分批生成后拼接。

第三步,取走结果。右侧文本框实时显示全部结果,配套的统计条会告诉你实际生成了多少条、字符池有多大、一共产出多少字符。点复制直接进剪贴板,点下载则保存为 TXT 或 CSV 文件。
几个常用配置参考
用途字符池长度建议开关
接口测试用的临时账号小写 + 数字8 - 12开启去重,前缀填 test_
线下派发的兑换码大写 + 数字固定 10开启去重与排除易混淆字符
初始登录口令大小写 + 数字 + 符号12 - 16勾选每类字符至少出现一次
十六进制标识自定义 0123456789abcdef固定 32开启去重
常见问题

为什么我要 5000 条,最后只给了 3000 多条?

开启去重后,可用组合数由字符池大小和长度共同决定。字符池只有 10 个数字、长度又只有 3 位时,全世界也只能凑出 1000 种。工具在反复抽取到达尝试上限后会停止,并如实展示实际条数,把字符池扩大或长度加长即可解决。

「每类字符至少出现一次」是怎么保证的?

勾选后,工具会先从每个已启用的类别里各抽一个字符占位,再用完整字符池补足剩余长度,最后把整条打乱顺序。因此这个选项要求单条长度不小于已启用的类别数量,否则会提示你调大长度。使用自定义字符池时该选项不生效。

前缀后缀会算进长度里吗?

不会。长度区间只约束随机生成的主体部分,前缀和后缀是额外拼接上去的。比如前缀 order_、长度 8,最终每条会是 6 + 8 共 14 个字符。去重判断针对拼接后的完整字符串。

随机结果安全到什么程度?

随机源是浏览器原生的 crypto.getRandomValues,属于密码学安全伪随机数发生器,不存在 Math.random 那种可被推算的种子问题,用于邀请码、API Key、一次性口令都足够。如果是长期使用的账号主密码,仍建议交由密码管理器生成并保管。

输入的参数和生成结果会被记录吗?

不会。页面加载完成后所有运算都在浏览器本地执行,不会向服务器发送任何请求,也不写入 Cookie 或远程日志。关闭标签页,这次生成的内容就彻底消失了。

下载的 CSV 用 Excel 打开会乱码吗?

不会。导出的 CSV 已写入 UTF-8 BOM 头,Windows 版 Excel 可以直接双击打开并正确识别中文表头。文件含序号和字符串两列,方便后续做批量导入。