哈希与安全

Snefru 哈希生成器

立即将任意文本转换为其 64 位字符的 Snefru 哈希。

给这个工具评分

如何使用 Snefru 哈希生成器

  1. 在输入框中键入或粘贴您的文本。
  2. 64 位字符的 Snefru 哈希会随着输入实时显示。
  3. 点击“复制”即可获取结果。

关于 Snefru 哈希生成器

Snefru由拉尔夫·默克尔(Ralph Merkle)设计——这个名字出现在现代密码学惊人数量的根基之处,从公钥交换到支撑Git与每一条区块链的默克尔树,无不与他相关。Snefru是最早的专用哈希函数之一,建立在一种同样以默克尔命名的结构之上,这里生成的是256位输出:64个十六进制字符。它以一位法老的名字命名,延续了默克尔以埃及统治者为自己设计的算法命名的小传统。

它的历史与其说是一个脚注,不如说是一个真正有价值的警示案例。早期版本的Snefru曾被Eli Biham和Adi Shamir攻破,他们使用的是差分密码分析法——正是这项技术重塑了人们分析分组密码的方式。默克尔的应对方式是增加该函数处理数据时的轮数,这是标准的补救办法:通过增加混合运算来重新买回安全余量。这段插曲也是密码学家如今将“迄今未被攻破”与“设计时留有余量”视为两种截然不同说法的部分原因。

如今Snefru只是一种历史珍品。按现代标准它速度缓慢,还背负着曾经被攻破的声誉负担,实际生产环境中几乎没有任何系统依赖它。本工具的存在是为了读取旧数据、用已知数值验证实现,以及满足好奇心。有一点实用提示:PHP同时提供snefrusnefru256这两个名称,二者产生完全相同的256位哈希——它们是别名,而不是两个不同的函数。如需用于实际场景,请使用SHA-256SHA3-256

常见问题

我可以解密或还原 Snefru 哈希吗?

不可以。Snefru是单向哈希——原始文本并未包含在输出结果中,因此无从解密或提取。

“snefru”和“snefru256”有什么区别?

在PHP中,二者没有区别——两个名称都会产生完全相同的64位字符、256位哈希。它们是同一函数的别名,这也是本工具不提供二者选择的原因。

Snefru 安全吗?

它有过被攻破的历史。早期版本曾被Eli Biham和Adi Shamir进行密码分析攻破,默克尔随后通过增加轮数强化了设计。鉴于这段历史以及此后对它的研究极少,请不要将Snefru用于任何对安全性要求高的场景。

为什么我的 Snefru 哈希总是 64 个字符?

本工具提供的变体输出256位,每个十六进制字符代表4位,因此无论您哈希多少文本,结果都恰好是64个字符。

我的文本会被发送到其他地方吗?

您的文本会被发送到我们的服务器进行哈希计算,因为浏览器无法计算Snefru——浏览器只提供SHA家族算法。计算完成后会立即丢弃,绝不记录,也绝不存储。