mirror of https://github.com/allinssl/allinssl
2.9 KiB
2.9 KiB
随机数生成工具函数文档
这个模块提供了一系列用于生成随机数和随机字符串的工具函数。
目录
随机数生成
随机整数生成
randomInt(min: number, max: number): number
生成指定范围内的随机整数。
参数:
min
: 最小值(包含)max
: 最大值(包含)
示例:
randomInt(1, 10) // 返回: 1-10 之间的随机整数
随机字符串生成
基础随机字符串
randomChart(
length: number = 32,
options: {
isSpecial?: boolean;
isLower?: boolean;
isUpper?: boolean;
isNumber?: boolean;
} = {}
): string
生成指定长度的随机字符串。
参数:
length
: 字符串长度(默认 32)options
: 配置选项isSpecial
: 是否包含特殊字符(默认 false)isLower
: 是否包含小写字母(默认 true)isUpper
: 是否包含大写字母(默认 true)isNumber
: 是否包含数字(默认 true)
示例:
// 生成默认随机字符串
randomChart() // 返回: 32位随机字符串
// 生成包含特殊字符的随机字符串
randomChart(16, { isSpecial: true })
// 仅生成数字和大写字母
randomChart(8, { isLower: false })
高级随机字符串
randomChartWithMinLength(
length: number = 32,
options: {
minUpper?: number;
minLower?: number;
minNumber?: number;
minSpecial?: number;
}
): string
生成满足最小字符数要求的随机字符串。
参数:
length
: 字符串总长度(默认 32)options
: 最小字符数要求minUpper
: 大写字母最小个数(默认 1)minLower
: 小写字母最小个数(默认 1)minNumber
: 数字最小个数(默认 1)minSpecial
: 特殊字符最小个数(默认 0)
特点:
- 确保生成的字符串满足各类字符的最小数量要求
- 自动打乱字符顺序
- 支持特殊字符
示例:
// 生成包含至少2个大写字母、2个小写字母、2个数字的16位随机字符串
randomChartWithMinLength(16, {
minUpper: 2,
minLower: 2,
minNumber: 2,
})
// 生成包含特殊字符的安全密码
randomChartWithMinLength(12, {
minUpper: 1,
minLower: 1,
minNumber: 1,
minSpecial: 1,
})
特点
- 使用 TypeScript 编写,提供完整的类型支持
- 支持灵活的字符组合配置
- 提供基础和高级两种随机字符串生成方式
- 支持最小字符数量要求
- 自动字符顺序打乱
注意事项
- 随机数范围包含最小值和最大值
- 字符串生成会自动过滤掉易混淆的字符(0oO1Ii)
- 最小字符数要求总和不能超过总长度
- 特殊字符集合为 !@#$%^&*?
- 建议在需要安全性的场景使用 randomChartWithMinLength