我看到一个老问题表明,当ssh
连接到服务器时,会显示一个十六进制指纹。
为什么现在是以base64格式给出的?有什么好处?
我知道MD5
它坏了,现在默认是sha256
,但是对于指纹格式,base64 编码和十六进制字符串是/表示相同的东西。那么改变格式有什么好处呢?
我看到一个老问题表明,当ssh
连接到服务器时,会显示一个十六进制指纹。
为什么现在是以base64格式给出的?有什么好处?
我知道MD5
它坏了,现在默认是sha256
,但是对于指纹格式,base64 编码和十六进制字符串是/表示相同的东西。那么改变格式有什么好处呢?
改变的不仅仅是输出格式,还有用于生成指纹的算法。以前是MD5,现在是SHA256。MD5很多方面都坏了,一般推荐使用SHA256之类的。那样的变化早就到来了。
从发行说明:
你仍然可以得到旧的输出:
SHA256 哈希有 256 位输出,转换为 64 个十六进制字符。这是 32 个字符的 MD5 十六进制哈希长度的两倍。Base64 编码的 SHA256 字符长度只有 44 个字节(
=
无论如何,最后一个用于填充的字符都被省略了)。