Formatar impressão digital SSH em hexadecimal ou Base64
Uma impressão digital SSH é uma exibição compacta de bytes de hash usada para comparar uma chave pública com um valor confiável.
Executar grátis
Este formatador recebe os bytes que você já calculou e os apresenta de modo consistente em hexadecimal minúsculo separado por dois-pontos ou Base64 sem padding. Ele não interpreta chaves, escolhe algoritmos nem calcula hashes. Ao separar cálculo e apresentação, permite que scripts, ferramentas administrativas, documentação e testes gerem a notação necessária sem alterar os bytes originais.
Comece pelo hash bruto, não por um arquivo de chave
Esta capacidade recebe os bytes de um hash já calculado a partir de uma chave pública SSH. Informe-os na ordem original como números inteiros entre 0 e 255. Por exemplo, um hash iniciado pelos valores 222, 173, 190 e 239 começa com <code>de:ad:be:ef</code> na exibição hexadecimal. O formatador não aceita uma linha de chave OpenSSH, um bloco PEM, um certificado ou um texto que apenas se pareça com um hash. A interpretação e o cálculo precisam ocorrer antes. Essa separação é importante porque não é seguro deduzir de uma string arbitrária qual codificação de chave ou algoritmo de hash foi usado. Ela também facilita os testes: a mesma sequência sempre produz os mesmos caracteres. Preserve todos os bytes, inclusive zeros iniciais, pois remover um deles altera as formas hexadecimal e Base64. Arrays vazios e entradas com mais de 128 bytes são rejeitados para impedir valores inúteis ou cargas acidentais que pareçam impressões digitais.
Escolha a apresentação exigida pelo sistema de destino
Selecione <code>hex-colon</code> quando uma ferramenta, inventário ou procedimento exigir dois dígitos hexadecimais minúsculos por byte, separados por dois-pontos. Cada byte mantém a largura completa: zero aparece como <code>00</code>, quinze como <code>0f</code> e 255 como <code>ff</code>. Selecione <code>base64</code> quando o destino esperar o alfabeto compacto comum nas impressões digitais SSH modernas. O resultado Base64 não inclui sinais de igual de padding no final, seguindo a apresentação SSH convencional. As opções mudam somente a representação; elas nunca alteram, invertem, truncam ou recalculam os bytes. A resposta contém <code>fingerprint</code> e <code>format</code>, permitindo que sistemas posteriores guardem o valor com sua notação. Os nomes de formato são rigorosos: erro de digitação, rótulo incompatível ou diferença de maiúsculas causa erro de entrada em vez de escolher silenciosamente um padrão que poderia parecer correto.
Compare impressões digitais com segurança e conheça o limite
Use o valor formatado apenas depois de saber como o hash bruto foi obtido. Uma correspondência só é significativa quando os dois lados aplicaram o mesmo algoritmo aos mesmos bytes canônicos da chave pública. A formatação não comprova essas condições, não fortalece o hash e não autentica um host. Registre o algoritmo separadamente se o protocolo não o identificar. Em automações, normalize os valores a partir dos bytes ou exija um formato explícito, sem tentar adivinhar pela pontuação. Esta capacidade fornece resultados estáveis para terminais, relatórios de implantação, inventários, telas de aprovação e testes de regressão. Ela não acessa a rede nem armazena chaves ou impressões digitais. A versão no navegador roda localmente, enquanto a automação via API custa US$ 0,002 por solicitação. Bytes inválidos e formatos incompatíveis falham de forma clara. Caso os valores sejam diferentes, interrompa o processo e confirme a origem por um canal confiável.
Casos de uso
Preparar uma confirmação de host
Mostre o hash na notação exata vista pelo operador antes da aprovação de um novo host SSH.
Normalizar a saída do inventário
Mantenha uma apresentação uniforme mesmo quando os scanners entregarem bytes brutos do hash.
Criar casos de teste determinísticos
Gere impressões digitais esperadas e estáveis sem depender de comandos do sistema ou configurações regionais.
Perguntas frequentes
Esta ferramenta calcula o hash de uma chave pública SSH?
Não. Ela apenas formata bytes de hash calculados anteriormente; a interpretação da chave e o cálculo ocorrem antes.
O que o formato Base64 retorna?
Ele retorna o alfabeto Base64 padrão sem sinais de igual de padding no final, preservando a ordem dos bytes.
O resultado hexadecimal preserva zeros iniciais?
Sim. Cada byte usa exatamente dois dígitos hexadecimais minúsculos, e os bytes são separados por dois-pontos.
Quais valores de byte são válidos?
Cada item deve ser um número inteiro de 0 a 255, e o array deve conter de um a 128 itens.
O que acontece quando outro formato é solicitado?
A solicitação falha como entrada inválida. Somente <code>hex-colon</code> e <code>base64</code> são aceitos.
Quanto custa a formatação pela API?
Cada solicitação à API custa US$ 0,002. Você também pode executar o mesmo formatador determinístico no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/security/ssh-key-fingerprint-format \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hash_bytes":[222,173,190,239,0,1,127,128],"format":"hex-colon"}'const res = await fetch("https://api.kit.forhosting.com/security/ssh-key-fingerprint-format", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hash_bytes": [
222,
173,
190,
239,
0,
1,
127,
128
],
"format": "hex-colon"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/ssh-key-fingerprint-format",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hash_bytes": [
222,
173,
190,
239,
0,
1,
127,
128
],
"format": "hex-colon"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/ssh-key-fingerprint-format", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hash_bytes":[222,173,190,239,0,1,127,128],"format":"hex-colon"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hash_bytes":[222,173,190,239,0,1,127,128],"format":"hex-colon"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/ssh-key-fingerprint-format", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"hash_bytes": [
222,
173,
190,
239,
0,
1,
127,
128
],
"format": "hex-colon"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.ssh_key_fingerprint_format",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_items | 128 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |