diff --git a/index.html b/index.html index aeda3b4..0865f57 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -webgl-vanity-gpg

使用 GPU(WebGL)快速生成带有“靓号”的 PGP 密钥!

“靓号”指的是带有连号等特定格式的密钥指纹或 ID(例如以 77777777 结尾),具体介绍和生成原理请参见:

密钥使用 OpenPGP.js 在浏览器中生成,不会发送到其他地方。如果仍然担心这一点,可以检查源代码、查看浏览器开发者工具的“网络”部分、或在页面加载完成后断网使用。


可以按 Enter 添加更多的用户 ID。

根据 GPU 性能和占用率调节这两个值。

你会得到一个生效时间距离现在 {{ (backTime > 2592000) ? `${Math.ceil(backTime / 2592000)} 个月` : `${Math.ceil(backTime / 86400)} 天` }}之内(最早为 {{ (new Date(Date.now() - backTime * 1000)).toISOString() }})的密钥。

将格式应用到子密钥而不是主密钥上

40 个十六进制数字,不区分大小写。空格会被忽略,X 表示只要这些位相同即可,其他 [\dA-FX] 以外的字符表示对该位数字没有要求。

最后 个数字为 快速设置

预计需要计算 {{ estimatedHashCount }} 次 hash,实际的计算次数可能是这个值的几分之一或几倍,也许需要一点运气……

把不同密钥的“靓号”合并到一起!
私钥 A
私钥 B

如果你希望生成主密钥和子密钥都是“靓号”的密钥,可以先分别生成两个不同的密钥,然后在这里合并。

私钥 B 的主密钥和子密钥将作为子密钥被附加到私钥 A 上。

然后,请自行使用 gpg --edit-key 编辑私钥,例如删除不需要的子密钥 delkey、修改密钥用途 change-usage 和有效期 expire 等,再输入 save 保存更改。

算号成功后播放提示音
算号成功后使用 ntfy 发送通知
不间断算号

已计算 hash:{{ hashCount }} {{ `(${Number(BigInt(hashCount) * 100n / estimatedHashCount) / 100}x estimated)` }}
耗时:{{ Math.round(runningTime / 1000 * 100) / 100 }}s
速度:{{ Math.round(hashCount / runningTime * 1000 * 100) / 100 || 0 }} hash/s

生成的密钥

[批量下载私钥] [清除生成记录]

私钥
公钥

生效时间:{{ generatedKey?.publicKey.getCreationTime().toISOString() || '****-**-**T**:**:**.***Z' }}

指纹(主密钥和子密钥):

保存私钥 保存公钥

\ No newline at end of file +webgl-vanity-gpg

使用 GPU(WebGL)快速生成带有“靓号”的 PGP 密钥!

“靓号”指的是带有连号等特定格式的密钥指纹或 ID(例如以 77777777 结尾),具体介绍和生成原理请参见:

密钥使用 OpenPGP.js 在浏览器中生成,不会发送到其他地方。如果仍然担心这一点,可以检查源代码、查看浏览器开发者工具的“网络”部分、或在页面加载完成后断网使用。


可以按 Enter 添加更多的用户 ID。

根据 GPU 性能和占用率调节这两个值。

你会得到一个生效时间距离现在 {{ (backTime > 2592000) ? `${Math.ceil(backTime / 2592000)} 个月` : `${Math.ceil(backTime / 86400)} 天` }}之内(最早为 {{ (new Date(Date.now() - backTime * 1000)).toISOString() }})的密钥。

将格式应用到子密钥而不是主密钥上

40 个十六进制数字,不区分大小写。空格会被忽略,X 表示只要这些位相同即可,其他 [\dA-FX] 以外的字符表示对该位数字没有要求。

最后 个数字为 快速设置

预计需要计算 {{ estimatedHashCount }} 次 hash,实际的计算次数可能是这个值的几分之一或几倍,也许需要一点运气……

把不同密钥的“靓号”合并到一起!
私钥 A
私钥 B

如果你希望生成主密钥和子密钥都是“靓号”的密钥,可以先分别生成两个不同的密钥,然后在这里合并。

私钥 B 的主密钥和子密钥将作为子密钥被附加到私钥 A 上。

然后,请自行使用 gpg --edit-key 编辑私钥,例如删除不需要的子密钥 delkey、修改密钥用途 change-usage 和有效期 expire 等,再输入 save 保存更改。

算号成功后播放提示音
算号成功后使用 ntfy 发送通知
不间断算号

已计算 hash:{{ hashCount }} {{ `(${Number(BigInt(hashCount) * 100n / estimatedHashCount) / 100}x estimated)` }}
耗时:{{ Math.round(runningTime / 1000 * 100) / 100 }}s
速度:{{ Math.round(hashCount / runningTime * 1000 * 100) / 100 || 0 }} hash/s

生成的密钥(已生成 {{ generatedKeyHistory.length }} 个)

[批量保存私钥] [清除生成记录]

私钥
公钥

生效时间:{{ generatedKey?.publicKey.getCreationTime().toISOString() || '****-**-**T**:**:**.***Z' }}

指纹(主密钥和子密钥):

保存私钥 保存公钥

\ No newline at end of file