Qual é o significado de um sinal de igual = ou == no final de uma chave pública SSH?

35

Acabei de notar que a maioria dos pubs ssh em minhas authorized_keys termina em == ou =

Por exemplo,

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

No entanto, hoje eu vi um pubkey sem um sinal de igual no final. Também notei que o único lugar onde an = sempre ocorre em um pubkey é no final e nunca em qualquer outro lugar.

Agora estou curioso para saber qual é o significado de zero, um ou dois sinais de igual no final de uma chave de pub?

    
por Lukas Loesche 09.02.2012 / 14:28

1 resposta

47

Eu acredito que não há razão técnica, é meramente um artefato de Base64 e o comprimento da string. Experimente com qualquer codificador de 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]

Mas posso estar errado sobre isso

    
por 09.02.2012 / 14:33