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