跳到主要内容

AES 密钥生成器

生成加密随机的 AES 加密密钥 — 支持 128、192 或 256 位,输出为 hex 或 Base64 格式。密钥完全在浏览器中生成,绝不传输。

输入

输出

请妥善保管此密钥 — 应存储在密钥管理器中,而非代码或聊天中。

这对您有帮助吗?

使用指南

这个工具是做什么的?

它会生成一个加密学上随机的 AES 加密密钥 — 128、192 或 256 位 — 并将其格式化为 hex 或 Base64,可以直接粘贴到配置文件、环境变量或加密库调用中。

什么是 AES 密钥?

AES(高级加密标准)是一种对称密钥密码:使用同一个密钥对数据进行加密和解密。密钥本身只不过是一串固定长度的随机比特 — AES-128 为 16 字节,AES-192 为 24 字节,AES-256 为 32 字节。任何拿到密钥的人都能读取用该密钥加密的所有内容,因此一个密钥之所以安全,唯一的原因就是它不可预测且保密。这正是此生成器从 crypto.getRandomValues() 获取字节的原因 — 这是 Web Crypto API 的加密安全随机数生成器,而不是 Math.random(),后者虽然速度快但可预测,不适合任何与安全相关的用途。

128 位还是 256 位:应该选哪个?

AES-128 在已知或可预见的任何技术下都已经无法通过暴力破解攻破,而且运行速度稍快,尤其是在没有 AES-NI 加速的硬件上。对于大多数应用来说,这是一个合理的默认选择。

AES-256 提供更大的安全余量 — 适用于长期保存的数据、合规要求(某些标准强制要求 256 位密钥),或防范未来密码分析的进展,包括大规模量子计算机的理论攻击。在现代 CPU 上,它与 AES-128 的性能差异可以忽略不计。

AES-192 介于两者之间,很少有特定标准要求使用;大多数项目会选择 128 或 256。

如何使用

  1. 选择密钥长度(128、192 或 256 位)。
  2. 选择输出格式 — hex(大写)或 Base64,取决于您的库或配置格式期望哪种。
  3. 点击生成密钥
  4. 使用复制按钮复制密钥。

任何时候需要新密钥时,再次点击"生成"即可 — 每次点击都会产生新的随机字节。

常见问题

它也会生成 IV(初始化向量)吗? 不会 — 此工具只输出密钥。大多数 AES 模式(GCM、CBC) 还需要每次加密操作使用一个随机且唯一的 IV,IV 在加密时单独生成;在同一密钥下重复使用 IV 可能泄露信息,因此通常不应预先生成 IV 并将其与密钥一起存储。

应该使用哪种格式,hex 还是 Base64? 两者都是对相同字节的完整保真编码。hex 更容易阅读和调试;Base64 大约短 25%,某些配置格式或环境变量的长度限制更喜欢它。

这个密钥对生产环境来说足够安全吗? 是的 — 底层随机性来源与您的操作系统和浏览器用于 TLS 及其他安全关键操作的是同一个 CSPRNG。系统的安全性仍然取决于将密钥保密并适时轮换。

隐私

密钥完全在您的浏览器中使用 Web Crypto API 生成。它绝不会发送到我们的服务器、记录在日志中或存储在任何地方 — 关闭或重新加载页面会将其永久丢弃,因此请务必在离开页面之前将它保存在安全的地方。

aeskeyencryptioncryptocipherrandomgenerator

Use it from code

From 3 credits per call

REST API

curl -X POST https://api.iotools.cloud/v1/tool/aes-key-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "keySize": "256",
    "outputFormat": "hex"
  }'

Swap in your own key from your account. The tool's fields are the body — no wrapper.

Ask an AI agent

Use the IOTools `aes-key-generator` tool (AES Key Generator) on this input:

YOUR_INPUT_HERE

Paste this at any agent connected to the IOTools MCP server, then add your input.

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。