# 数字 OTP 生成器

生成密码学安全的一次性数字验证码（短信 / 邮件验证、抽奖码、活动 PIN），可配长度（3-10 位）、批量输出、可选排除混淆数字及过期倒计时。使用 crypto.randomInt，而非 Math.random。

> 标准页面: https://elysiatools.com/zh/tools/otp-generator

- **分类:** Security

- **关键词:** 验证码, OTP, 一次性密码, 短信码, 随机数

## 概述

本工具生成用于验证场景的**静态一次性数字码**——即服务通过短信或邮件发给用户的码。它与 RFC 6238 / 4226 的 TOTP/HOTP 生成器（基于共享密钥 + 时间/计数器，用于验证器 App）有本质区别。

选项：
- **位数**：4、6（短信常用）、8，或自定义 3-10 位。
- **数量**：一次生成 1-100 个（去重，保证唯一）。
- **空格分组**：将码渲染成 `123 456` 便于阅读。
- **排除混淆数字（0、1）**：去掉易混数字，便于电话口述。
- **过期时间**：可选有效期（30 秒 / 1 / 5 / 10 分钟），以倒计时显示。

安全：随机数来自 Node 的 `crypto.randomInt()`（密码学安全源），绝不使用 `Math.random()`（可预测，不适合生成码）。

适用场景：测试短信 OTP 登录流程、生成抽奖/活动 PIN、为 QA 生产一次性验证码。

## 输入项

- **位数** (select)
- **自定义长度（3-10）** (number): e.g. 5
- **数量** (number): e.g. 1
- **空格分组（如 123 456）** (checkbox)
- **排除混淆字符（0、1）** (checkbox)
- **过期时间** (select)

## 适用场景

- 开发与测试人员需要批量生成高强度的临时数字验证码来模拟短信或邮件登录验证流程时。
- 策划线上或线下活动，需要快速生成一批无重复、易读且安全的抽奖码或活动 PIN 码时。
- 进行产品演示或 QA 测试，需要带倒计时时效的临时安全凭证以验证系统过期校验逻辑时。

## 工作原理

- 选择所需的验证码位数（如 4 位、6 位或自定义 3-10 位）并设置需要批量生成的数量。
- 根据需求勾选“空格分组”以提升可读性，或勾选“排除混淆字符”以过滤掉容易看错的数字 0 和 1。
- 设置验证码的有效期（如 5 分钟），系统将通过密码学安全随机数生成器即时输出带倒计时效果的验证码卡片。

## 使用案例

- 模拟短信与邮件验证码：为开发环境快速配置测试用的 6 位或 4 位临时验证码。
- 活动抽奖与兑换码分发：批量生成不含混淆数字的唯一活动 PIN 码，便于用户手动输入。
- 交互原型演示：在产品演示中展示带有真实倒计时效果的验证码输入界面。

## 常见问题

### 这个工具生成的 OTP 与手机双因素认证（TOTP）一样吗？

不一样。本工具生成的是静态一次性数字码（如短信验证码），而非基于共享密钥和时间同步的动态 TOTP。

### 为什么随机数生成比 Math.random() 更安全？

本工具使用 Node.js 的 crypto.randomInt()，属于密码学安全随机数生成器，其输出不可预测，安全性远高于 Math.random()。

### 排除混淆字符有什么作用？

勾选后会过滤掉数字 0 和 1，避免用户在阅读或通过电话口述时与字母 O、I 产生混淆。

### 验证码过期后会发生什么？

页面上的验证码卡片会显示倒计时，倒计时归零后会提示已过期，便于测试过期失效的交互场景。

### 一次最多可以生成多少个验证码？

单次最多支持批量生成 100 个去重且唯一的数字验证码。

## 相关工具

- [Markdown 表格生成器](https://elysiatools.com/zh/tools/markdown-table-generator): 从 CSV、JSON 或数组数据生成格式化 Markdown 表格，支持对齐、表头样式、列宽控制和合并提示
- [Markdown 目录生成器](https://elysiatools.com/zh/tools/markdown-toc-generator): 从 Markdown 标题生成目录，支持 GitHub 风格锚点链接
- [AGEX 安全分享说明页](https://elysiatools.com/zh/tools/agex-secure-share-note): 为 AGEX 包生成面向接收方的分享说明页，解释如何安全解密与验签
- [数字签名生成器](https://elysiatools.com/zh/tools/digital-signature-generator): 用私钥签名消息或用公钥验签——支持 RSA-PSS (SHA-256)、ECDSA (P-256)、Ed25519。纯本地加密（Node crypto.createSign/createVerify），无网络。粘贴 PEM 密钥来签名或验证 base64 签名。本工具只做签名/验签，不生成密钥对。
- [哈希算法对比器](https://elysiatools.com/zh/tools/hash-algorithm-comparator): 对同一输入同时用 MD5、SHA-1、SHA-256、SHA-512、BLAKE2b、BLAKE3 哈希并横向对比：输出长度、十六进制/Base64 摘要、安全状态（已破解/现代）以及相对速度基准。适合教学、选择哈希算法或核对校验和。
- [JWK 生成与解析器](https://elysiatools.com/zh/tools/jwk-generator): 生成 RSA、EC（P-256/P-384/P-521/secp256k1）与 OKP（Ed25519/Ed448/X25519/X448）的 JSON Web Key，或解析已有 JWK 以查看参数、指纹与元信息
- [PKCE Code Verifier 与 Challenge 生成器](https://elysiatools.com/zh/tools/pkce-code-verifier-generator): 生成、校验与验证 OAuth2 / OIDC PKCE（RFC 7636）的 code_verifier 与 S256 code_challenge 配对。三种模式：(1) 从密码学安全随机字节（256/384/512/768 位熵）生成全新的 verifier + challenge；(2) 按 RFC 审计你已有的 verifier——长度（43–128）、字符集 \[A-Za-z0-9-._~\] 与 ≥256 位熵；(3) 通过重算 BASE64URL(SHA256(verifier)) 验证 verifier/challenge 配对。可选构建完整的授权请求 URL 与令牌交换体。补足通用的 nonce-generator（仅输出 verifier+challenge 配对）——增加 RFC 合规审计与配对验证。
- [TOTP / HOTP 离线动态密码生成器](https://elysiatools.com/zh/tools/totp-hotp-offline-generator): 从 base32 共享密钥生成 RFC 6238 TOTP（基于时间，6/8 位、30/60 秒步长）与 RFC 4226 HOTP（基于计数器）一次性密码，完全离线，支持 HMAC-SHA1/256/512，并导出 otpauth:// URI 以便导入 Google Authenticator / Authy

## 示例

- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
- [Web Rust 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-rust): Web Rust 图像处理示例，包括图像读取保存、缩放和格式转换

## 相关内容

- [令牌、会话与 2FA 工作流工具](https://elysiatools.com/zh/hubs/token-session-and-2fa-workflows): 把 PKCE 与 nonce 生成、JWT/JWK 检查、HMAC 验签、OTP 与 TOTP 测试，以及适合认证排障的标识符工具聚合到一个真实登录流程专题里。
- [Markdown 导出、OCR 与文档转换工具](https://elysiatools.com/zh/hubs/markdown-convert): 在一个专题中比较 Markdown 转 PDF、PDF 转 Markdown、OCR、幻灯片导出和结构化 Markdown 转换工具，适合文档发布流程。
- [Markdown 写作、整理与发布工具](https://elysiatools.com/zh/hubs/markdown-utility): 把 Markdown 格式整理、链接检查、合并、预览、翻译和导出工具集中到一个专题中，适合文档、笔记和发布流程。
- [文档编写、提取与发布工具](https://elysiatools.com/zh/hubs/documentation-authoring-publishing): 在一个文档工作流专题中完成文档编写、从代码或 PDF 提取内容、检查 Markdown，并导出更正式的文档结果。
