OpenPGP 密钥生成与检查
编码所有处理都在浏览器本地完成,数据不上传服务器
输入
把文件拖到这里可直接载入
输出
真生成,不是演示:有限域算术、爱德华曲线点运算、SHA-512 与 OpenPGP 包结构全部自带,生成的公钥/私钥块能被 `gpg --import` 接受(自签名与子密钥绑定签名都真算)。生成、解析、拼 gpg 命令三个模式。密码学随机源走 `crypto.getRandomValues`,密钥在你自己的浏览器里产生,一个字节都不会上传 —— 这正是这个工具存在的理由:比起把私钥交给某个网站,这里你至少能把它留在本机。
功能
- 真生成 Ed25519 主密钥(RFC 8032 官方向量钉住)
- 可选 X25519 加密子密钥(RFC 7748)与绑定签名
- 导出的 ASCII armor 可被 gpg --import 接受,公钥私钥都可用
- 解析模式输出指纹(v4 SHA-1 / v5 SHA-256)、密钥 ID、算法、创建与过期时间
- 解析 ASCII armor 时校验 CRC24,改过/截断的报文会被指出
- 拼出 `gpg --quick-generate-key` 命令,含有效期与子密钥提示
- 支持 Ed25519、X25519、RSA、DSA 等密钥的解析
- 每行可单独复制,也可复制全部
使用方法
- 选模式:生成 / 解析 / 生成 gpg 命令
- 生成:填 User ID、选算法与有效期,结果给出公私钥 armor
- 解析:把 ASCII armor 或十六进制粘进输入框
- 把 armor 存成文件后 `gpg --import` 即可导入
常见问题
- 生成的私钥有口令吗?
- 没有。本工具不实现 S2K 加密,所以即便勾了「加口令保护」,给出的仍是不带口令的私钥。请导入后立刻用 `gpg --edit-key <指纹> passwd` 加口令 —— 不带口令的私钥谁拿到都能用。不假装做了,是为了不给你一个虚假的安全感。
- 为什么解析模式对 v5 密钥支持有限?
- 指纹算法是区分开的(v4 用 SHA-1,v5 用 SHA-256 且前缀码与长度字段都不同),但 v5 的密钥材料与子包布局尚未完整解析。日常见到的绝大多数密钥仍是 v4。
- 真的能被 gpg 接受吗?
- 能。开发时用 gpg 2.4 实测过:导入后自签名有效、可以用它签名并验签、X25519 子密钥的绑定签名也有效并能用来加解密。密钥包、User ID、自签名、子密钥与绑定签名的每个字节都按 OpenPGP 规范拼。
- 把密钥生成交给网页安全吗?
- 这个页面全部在本地计算,不发任何请求,也没有服务端。但页面是从网上加载来的,你无法审计它。生成后的密钥会留在屏幕上、剪贴板里、下载文件里 —— 请尽快导入自己的密钥环,别贴进聊天记录。对安全性要求极高的场景,仍建议用本机的 `gpg` 生成。
相关工具
RSA 加解密
编码用 PEM 公钥加密、私钥解密,或做签名与验签,还能在线生成 RSA 密钥对。支持 SPKI / PKCS#8 与 PKCS#1 四种 PEM 写法,全部在本地完成。
SSH 密钥
编码解析 SSH 公钥的类型、位数、SHA-256 与 MD5 指纹、注释与 authorized_keys 选项;或在浏览器里生成一对 Ed25519 / RSA 密钥。
自签名证书
编码在浏览器本地生成 RSA 密钥对与自签名 X.509 证书,密钥长度 1024–4096 位、签名哈希可选 SHA-256/384/512,自带 SAN 扩展,可直接用于本地开发的 HTTPS 服务。
Base64 编解码
编码把文本转成 Base64,或把 Base64 还原成文本,中文与 emoji 都按 UTF-8 正确处理。全部在浏览器本地完成,内容不上传。
URL 编解码
编码把中文、空格与符号转义成 %XX,或把 %XX 还原成文本;整条 URL 与单独的参数值要选对方式,选错不会报错,但链接会打不开。全部在浏览器本地完成。
HTML 实体编解码
编码把 < > & 与引号转成 HTML 实体,也能把实体还原成字符,而且只解一遍:&lt; 得到的是 < 而不是尖括号。全部在浏览器本地完成。