SSH 公钥末尾的等号 = 或 == 是什么意思?

SSH 公钥末尾的等号 = 或 == 是什么意思?

我刚刚注意到,我的 authorized_keys 中的大多数 ssh 公钥都以 == 或 = 结尾

例如

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9ZUwxXn2HZAAUswoaV8t2sQPvolVWDI053f0giNN154Zyi9FtWJKvyLHXoxW4IzFxgx+m6EYqXG/XCtfamLhwvGZv9FXkgQKeF6HJv/rjyKRBHPRyX0vV4S9uQU+xQV7f0Ock3urSzbUyoCgngA8Ax6AkYGmMTLLjx1HOBO/TJ477aysWt4IAg1gviT50I4xOYiHT4vC67czoDTnPl0UfKQJaM0+6WrneK7FJbd/8CAX7P7IxOhj1OxVbnEoh9FvecLbSDdOx/LF+kJcav/LThuoG7NR+Y+rS9lNkta3/KPi3IBMPum+bZpXJF7fkHl9Kx/iOMitT7KjNW/mty74xw== foo@bar

然而今天我看到一个公钥末尾没有等号。我还注意到公钥中唯一出现 = 的地方就是末尾,其他地方从不出现。

现在我只是好奇公钥末尾的零个、一个或两个等号是什么意思?

答案1

我认为没有技术原因,这只是 Base64 和字符串长度的产物。使用任何 Base 64 编码器尝试一下

1     -> MQ==     (1 characters, 2 equals)
12    -> MTI=     (2 characters, 1 equals)
123   -> MTIz     (3 characters, 0 equals)
1234  -> MTIzNA== (4 characters, 2 equals)
[repeat]

但我可能错了

相关内容