所有密钥在本地浏览器生成,使用 Web Crypto API(CSPRNG)· 零网络请求 · 刷新即清空
🔑 密钥生成器
密钥类型预设
字节长度
字节长度必须为 1-1024 的整数
输出格式
生成数量
数量必须为 1-1000 的整数
🔒 强密码生成器
密码长度:20
字符集
数量
强度:- 熵:- bits
🆔 UUID v4 生成器
输出格式
数量
结果(0 条)
暂无生成结果 · 点击上方"生成"按钮开始
❓ 常见问题
为什么使用 Web Crypto API?

Web Crypto API 提供的 crypto.getRandomValues() 是浏览器内置的密码学安全伪随机数生成器(CSPRNG),满足密码学用途。而 Math.random() 只是普通伪随机,绝不能用于生成密钥。

hex / base64 / base64url 有什么区别?

hex:每字节 2 字符,纯 0-9a-f,可读性最好但最长。
base64:每 3 字节编码为 4 字符,使用 A-Z a-z 0-9 + / =,紧凑但包含特殊字符。
base64url:用 - 和 _ 替代 + 和 /,去掉填充 =,适合 URL、JWT 等场景。

密钥长度应该选多少?

对称加密(AES):128 位(16 字节)已足够安全;推荐 256 位(32 字节)。
HMAC 签名:等于哈希输出长度,HMAC-SHA256 用 32 字节,HMAC-SHA512 用 64 字节。
JWT Secret:建议 ≥ 32 字节。

如何安全地存储生成的密钥?

1. 不要提交到 Git 仓库(使用 .gitignore 排除 .env)。
2. 生产环境推荐使用密钥管理服务:AWS KMS、HashiCorp Vault、Azure Key Vault。
3. 开发环境可使用 .env 文件 + 环境变量。
4. 不要通过 IM/邮件等不安全渠道传输密钥。

刷新页面后密钥还在吗?

不会。所有生成结果仅保存在浏览器内存中,关闭或刷新页面即清空。本工具从不将密钥写入 localStorage 或发送到任何服务器。