无需登录 数据私有 本地保存

公钥乱序艺术生成器 - 生成ASCII可视化指纹

11
0
0
0
输入公钥或文本 待输入
ASCII 可视化指纹
输入公钥或文本以生成可视化指纹
SHA-256 指纹
浏览器端计算

所有哈希和可视化计算均在您的浏览器中完成,数据不会上传到任何服务器。

实时生成

输入内容后自动生成可视化指纹,调整参数即时刷新,无需等待

视觉校验

人类视觉对图案差异极其敏感,可视化指纹让密钥比对更加直观可靠。

常见问题与知识点

公钥可视化指纹(也称 RandomartASCII 指纹艺术)是将密钥的哈希值转化为可视化图案的技术。最著名的实现是 OpenSSH 的 VisualHostKey 功能。

它的核心思想是:人类视觉系统对几何图案的差异极其敏感,两个不同的密钥即使哈希值只有1位不同,生成的图案也会有显著差异。这使得用户可以通过视觉快速判断密钥是否一致,而无需逐字符比对冗长的十六进制指纹。

醉酒主教算法是 OpenSSH 使用的经典 Randomart 生成算法,由 Alexander von Gernler 提出。其工作方式如下:

  1. 初始化网格:创建一个二维网格(通常为 17×9 字符),所有单元格计数为 0。
  2. 放置主教:将"醉酒的主教"(代表哈希值的遍历者)放置在网格中心。
  3. 读取哈希:逐字节读取 SHA-256 哈希值,每个字节拆分为两个 4 位值。
  4. 决定移动:每个 4 位值中,低 2 位决定水平移动(-1/0/+1),高 2 位决定垂直移动。
  5. 留下痕迹:每次移动后,在当前位置的计数 +1。
  6. 映射字符:最终根据每个单元格的计数值,映射到不同的 ASCII 字符(如 .o+=*BOX@%)。
  7. 标记始终:起点标记为 S,终点标记为 E

这个算法之所以叫"醉酒主教",是因为主教在国际象棋中沿对角线移动,而这里的移动方向由哈希值的位决定,显得"醉醺醺"的随机漫步。

绝对安全。本工具的所有计算(包括哈希运算和可视化生成)均在您的浏览器本地完成:

  • 不上传数据:输入内容不会发送到任何服务器。
  • 纯前端计算:使用浏览器内置的 Web Crypto API 进行 SHA-256 哈希。
  • 无需网络:加载后即使断开网络也能正常使用。
  • 开源可审计:您可以查看页面源码验证。

重要提醒:请仅输入公钥(public key),切勿输入私钥(private key)。公钥本身就是公开信息,不包含敏感数据。

本工具支持任意文本输入,并能自动识别常见公钥格式:

格式示例前缀识别
SSH RSAssh-rsa AAAA...✅ 自动
SSH Ed25519ssh-ed25519 AAAA...✅ 自动
SSH ECDSAecdsa-sha2-nistp256 AAAA...✅ 自动
PGP/GPG-----BEGIN PGP PUBLIC KEY BLOCK-----✅ 自动
X.509 证书-----BEGIN CERTIFICATE-----✅ 自动
任意文本任何字符串✅ 通用

即使输入不是标准公钥格式,工具也会对全文进行哈希并生成可视化指纹。

阅读 ASCII 指纹的要点:

  • S(Start):主教的起始位置,位于网格中心附近。
  • E(End):主教的最终位置,代表哈希遍历结束。
  • 密集区域:字符越密集(如 @%&#),说明主教经过该区域的次数越多。
  • 稀疏区域:空格或 . 表示主教很少或从未经过。
  • 比较方法:将两个指纹并排对比,关注整体形状、密集区域位置、S/E 标记位置。两个不同密钥的指纹会呈现完全不同的图案
  • 边框:外框由 +(角)、-(横边)、|(竖边)组成,便于视觉定位。

"乱序"在这里有三层含义:

  1. 哈希的雪崩效应:输入的任何微小变化(哪怕只改一个字符)都会导致哈希值发生巨大且不可预测的变化,这是密码学哈希函数的核心特性。
  2. 算法的随机漫步:醉酒主教算法模拟了随机漫步过程,将确定性的哈希值转化为看似"混乱"的移动轨迹。
  3. 有序的混沌:虽然图案看起来随机,但它是完全确定性的——相同的输入永远生成相同的图案。这种"有序的混沌"正是其艺术魅力所在。

"乱序艺术"体现了从严谨的密码学数据中提炼出视觉美感的过程。

  • SSH 连接验证:首次连接服务器时,对比显示的 Randomart 与之前记录的是否一致,防范中间人攻击。
  • 密钥管理:在多个密钥中快速识别特定密钥,无需查看冗长的指纹字符串。
  • 安全审计:通过视觉比对快速发现密钥是否被替换或篡改。
  • 教学演示:直观展示密码学哈希函数的雪崩效应——修改一个字符,观察图案的剧烈变化。
  • 数字艺术:将公钥转化为独特的 ASCII 艺术作品,可用于个人标识或头像。
  • 身份标识:类似 GitHub 的 identicon,为每个公钥生成独一无二的视觉标识。

本工具使用 SHA-256 作为哈希算法,生成 32 字节(256 位)的哈希值。在醉酒主教算法中:

  • 每个字节产生 2 步移动(低 4 位和高 4 位各一步),共 64 步(密度 1×)。
  • 标准 17×9 网格有 153 个单元格,64 步可以填充约 40% 的区域。
  • 增大密度参数会循环使用哈希值,产生更多步数,使图案更密集。
  • 大网格配合高密度可以生成更复杂、更细腻的图案。

不同的算法(网格填充、螺旋映射、波浪扩散)使用不同的策略将哈希值映射到二维空间,各有独特的视觉风格。