随机字符串生成器
生成加密安全的随机字符串、密码、API 密钥和令牌,完全控制字符集。
生成随机字符串
长度
字符集
预设
输出
为什么使用随机字符串生成器?
随机字符串是应用程序安全的基础。密码必须不可预测才能抵御暴力破解和字典攻击。API 密钥用于验证请求,必须无法被猜测。会话令牌、CSRF 令牌和 nonce 都依赖加密随机性来防止攻击。
人为选择的密码往往遵循可预测的模式——常见单词、键盘序列、个人信息。随机生成器完全消除了这些模式,生成的字符串只能通过穷举整个字符空间来破解。
加密安全 vs 伪随机
伪随机生成器如 Math.random() 使用从单一种子值出发的确定性算法。如果攻击者能猜出种子或观察到足够多的输出,就能预测所有未来的值。这对游戏和模拟来说没问题,但完全不适用于安全领域。
加密安全生成器如 crypto.getRandomValues()(本工具使用的方法)从硬件源获取熵——鼠标移动、磁盘时序、CPU 抖动以及其他不可预测的物理过程。即使面对拥有强大计算能力的攻击者,其输出也与真正的随机性无法区分。
常见问题
- 什么样的随机字符串是安全的?
- 加密随机性(来自
crypto.getRandomValues())、足够的长度(12 个字符以上)以及多样化的字符集(大写、小写、数字、符号)。本工具使用浏览器内置的 CSPRNG。 - 密码应该设多长?
- 密码至少 12–16 个字符。对于 API 密钥和令牌,建议 32–64 个字符。每增加一个字符,暴力破解的难度都会呈指数级增长。
- 强密码应该包含哪些字符?
- 全部四种类型:大写字母(A–Z)、小写字母(a–z)、数字(0–9)和符号。使用全部四种类型的 16 位密码约有 1031 种可能组合。
- 什么是 API 密钥?
- 一种用于验证 API 请求的长随机字符串(通常为 32–64 个字母数字字符)。API 密钥应使用 CSPRNG 生成并安全存储——永远不要放在源代码中。
- 这个生成器安全吗?
- 是的。它使用
crypto.getRandomValues(),完全在您的浏览器中运行。不会向任何服务器发送数据。