ECDSA / Ed25519 密钥生成器
生成椭圆曲线密钥对(Ed25519、ECDSA P-256/P-384/P-521 或 secp256k1)为 PEM(PKCS#8/SPKI)、JWK 或原始十六进制格式,包含公钥的 JWK 指纹。在您的浏览器中生成,永不传输。
输入
PEM 具有通用性。JWK 由 JWT 库使用。原始十六进制用于低级加密。
输出
保密 — 像对待密码一样对待它。不要提交或粘贴到不可信的服务中。
公钥的 RFC 7638 指纹 — 稳定的密钥 ID。
使用此工具的更多方式
REST API
curl -X POST https://api.iotools.cloud/v1/tool/ecdsa-ed25519-key-generator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"algorithm": "ed25519",
"outputFormat": "pem"
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `ecdsa-ed25519-key-generator` tool (ECDSA / Ed25519 Key Generator) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
嵌入式小组件
<iframe
src="https://iotools.cloud/embed/ecdsa-ed25519-key-generator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="ECDSA / Ed25519 密钥生成器 — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。
| 每次 API/MCP 调用费用 | 5 积分起 |
|---|---|
| 需要更多积分? | 查看定价 |
也可通过
使用指南
在几秒钟内生成椭圆曲线公钥/私钥对 — Ed25519、NIST 曲线 P-256、P-384 和 P-521 上的 ECDSA、或 secp256k1 — 并导出为 PEM、JWK 或 原始十六进制。每个密钥都是使用加密安全的随机数生成器在您的浏览器中创建的,因此您生成的任何内容都不会离开您的机器。
椭圆曲线密钥是签名和身份验证的现代标准:与等效强度的 RSA 密钥相比,它们要小得多、生成速度更快,并且在 JWT 库、SSH、TLS 和区块链钱包中得到普遍支持。该工具涵盖您实际使用的算法 — 新系统用 EdDSA (Ed25519)、JWT (ES256/ES384/ES512) 和 X.509 用 ECDSA P-256/P-384/P-521、以及 Bitcoin 和 Ethereum 用 secp256k1 (ES256K)。
如何使用
- 选择 算法。Ed25519 是最好的全能现代选择。当 JWT 库或标准要求 ES256 时选择 P-256,需要更高安全级别时选择 P-384/P-521,或区块链工作时选择 secp256k1。
- 选择 输出格式 — 用于 OpenSSL 和大多数服务器等工具的 PEM、JavaScript/JWT 库的 JWK、或低级工作的原始十六进制。
- 点击 生成密钥对。您将获得私钥、公钥和 公钥的 JWK 指纹(稳定的密钥 ID /
kid)。 - 使用输出框上的按钮复制或下载每个密钥。
我应该选择哪种算法?
除非有特殊原因,否则使用 Ed25519 — 它速度快、密钥短,并且能抵御 ECDSA 的许多实现陷阱。需要广泛兼容性时选择 P-256(它是支持最广泛的 ECDSA 曲线,对应 JWT 的 ES256)。当合规配置文件要求更大的曲线时升级到 P-384 或 P-521。仅在 Bitcoin/Ethereum 风格的签名时选择 secp256k1。
PEM、JWK 和十六进制的区别是什么?
PEM 使用 PKCS#8(私钥)和 SPKI(公钥)将密钥包装在 Base64 中,带有 -----BEGIN … KEY----- 标题 — 这是 OpenSSL、大多数 Web 服务器和 SSH 工具期望的格式。JWK 是 JOSE/JWT 库直接使用的 JSON 对象。原始十六进制就是密钥字节(私有标量/种子和公共点),用于低级加密代码。
JWK 指纹是什么?
它是公钥的 RFC 7638 指纹:密钥规范 JSON 的 SHA-256 哈希,编码为 base64url。它为密钥提供了一个紧凑的、确定性的标识符 — 通常用作 JWK kid。
这些密钥在生产环境中使用是否安全?
是的。密钥材料使用经过审计、广泛使用的椭圆曲线库 @noble/curves 生成,从您平台的安全随机源初始化。输出符合标准,可以顺利通过 OpenSSL 和 Web Crypto。
隐私
一切都在本地进行 — 密钥生成完全在您的浏览器中执行,密钥材料永远不会被发送到服务器或记录。不过,像对待密码一样对待私钥:不要提交到源代码管理或粘贴到您不信任的服务中。PEM/JWK/十六进制输出未加密,因此如果您需要静态保护,请自己加密文件(例如,openssl pkcs8 -topk8 -in key.pem -out key.enc.pem)。