随机字符串生成器

生成加密安全的随机字符串、密码、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(),完全在您的浏览器中运行。不会向任何服务器发送数据。