随机工具 API

随机整数、抽签抽奖、列表乱序、随机字符串,使用密码学安全随机数,结果不缓存

数据来源:本地生成(Node.js crypto.randomInt)

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

生成指定范围内的随机整数,可一次多个、可不重复

GET /api/random/number

请求参数

  • min:最小值(含),-1000000000000~1000000000000 之间的整数,示例 1
  • max:最大值(含),-1000000000000~1000000000000 之间的整数,不能小于 min,示例 100
  • count:生成个数,1~1000,示例 5
  • unique:是否互不重复:true / false;为 true 时 count 不能超过范围内的整数个数,示例 true

返回字段

  • min(number):最小值(含)
  • max(number):最大值(含)
  • count(number):生成个数
  • unique(boolean):是否互不重复
  • numbers(array):随机整数列表(按生成顺序,未排序)

抽签 / 抽奖:从选项中随机抽取若干项(不放回)

GET /api/random/pick

请求参数

  • items(必填):选项列表,最多 1000 项:有换行时按行分隔,否则按逗号(中英文均可)分隔;首尾空白和空项会被去掉,重复项保留(可用来加权),示例 张三,李四,王五,赵六
  • count:抽取个数,不能超过选项个数;同一项不会被重复抽中,示例 1

返回字段

  • total(number):有效选项个数
  • count(number):抽取个数
  • picked(array):抽中的项(按抽中顺序)
  • picked[].index(number):该项在选项列表中的位置(从 0 开始)
  • picked[].item(string):选项内容

把列表随机打乱顺序(如随机分组、排序号)

GET /api/random/shuffle

请求参数

  • items(必填):选项列表,最多 1000 项:有换行时按行分隔,否则按逗号(中英文均可)分隔;首尾空白和空项会被去掉,重复项保留(可用来加权),示例 张三,李四,王五,赵六

返回字段

  • total(number):有效选项个数
  • items(array):打乱后的列表(字符串)

生成随机字符串(邀请码、随机 ID 等)

GET /api/random/string

请求参数

  • length:长度,1~1024,示例 16
  • charset:字符集:alnum 大小写字母+数字 / letters 大小写字母 / digits 数字 / hex 十六进制小写 / lower 小写字母+数字 / readable 去掉易混淆字符(0O1lIiLo),示例 alnum
  • count:生成个数,1~100,示例 1

返回字段

  • length(number):每个字符串的长度
  • charset(string):使用的字符集名称
  • count(number):生成个数
  • strings(array):随机字符串列表