令牌生成器

生成包含你所需字符的随机字符串,包括大写或小写字母、数字和/或符号。

令牌生成器是什么

生成由你指定字符组成的随机字符串:可选择大小写字母、数字、符号,能填「拒绝字符」剔除不想要的字符,长度最高 512、可批量生成。做 API 令牌、临时密钥、邀请码时用它。

所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。

怎么用令牌生成器

  1. 用四个开关选择字符集:大写字母、小写字母、数字、符号(.,;:!?./-"#{([-|@)]=}*+)
  2. 在「拒绝字符」框里填不想出现的字符,比如 0O1l 或某些系统不接受的特殊符号
  3. 打开「允许易混淆字符」开关可以放行默认被排除的 O o 0 1 l I
  4. 用「长度」滑杆设长度(1~512,默认 64),用「数量」滑杆设生成几条
  5. 点「复制」取走或点「刷新」换一批;配置会写进 URL 方便复现

常见问题

生成的令牌会被上传或保存吗?

不会上传。生成在浏览器里完成,令牌不落盘;但参数(长度、字符集等)会存在本地存储并写进 URL,公用电脑请注意。

为什么生成的字符串里有重复字符?

这是算法决定的:字符表重复后洗牌再截取,不保证不重复。需要不重复采样的话,字符集要大、长度要短。

能生成适合放进 URL 的令牌吗?

能。关掉「符号」,或把 / + = 等 URL 敏感字符填进「拒绝字符」即可。也可以直接用 NanoID 生成器,它默认只含 URL 安全字符。

这个令牌够安全吗?

64 位全字符集的长度足够长,但随机源是 Math.random,不属于密码学安全随机数。生产密钥建议在服务端生成。

小提示

  • 默认会剔除 O、o、0、1、l、I 六个易混字符,不需要就打开「允许易混淆字符」;「拒绝字符」里填的字符是在此基础上额外剔除
  • 生成算法是「把字符表重复 N 遍后洗牌取前 N 位」,所以字符会重复出现,也不是等概率采样——长度接近字符集大小时分布尤其不均
  • 随机源是 Math.random,不是 crypto.getRandomValues。测试、邀请码够用,生产系统的长期密钥请在服务端用 CSPRNG 生成

同类随机生成工具