Formatear una huella SSH en hexadecimal o Base64
Una huella SSH es una representación compacta de bytes hash que permite comparar una clave pública con un valor de confianza.
Ejecutar — gratis
Este formateador toma los bytes que usted ya ha calculado y los muestra de forma uniforme como hexadecimal en minúsculas separado por dos puntos o Base64 sin relleno. No analiza claves, elige algoritmos ni calcula resúmenes. Al separar el cálculo de la presentación, permite que scripts, herramientas administrativas, documentación y pruebas produzcan la notación requerida sin modificar los bytes originales.
Comience con el resumen sin procesar, no con un archivo de clave
Esta capacidad acepta los bytes de un hash ya calculado a partir de una clave pública SSH. Envíelos en su orden original como enteros entre 0 y 255. Por ejemplo, un resumen que empieza con 222, 173, 190 y 239 comienza por <code>de:ad:be:ef</code> en formato hexadecimal. El formateador no acepta deliberadamente una línea de clave OpenSSH, un bloque PEM, un certificado ni texto que solo parezca un resumen. El análisis y el cálculo del hash deben realizarse antes. Esta separación es importante porque no se puede deducir con seguridad qué codificación de clave o algoritmo produjo una cadena arbitraria. Además, simplifica las pruebas: la misma secuencia siempre genera los mismos caracteres. Conserve todos los bytes, incluidos los ceros iniciales, pues eliminar uno cambia las representaciones hexadecimal y Base64. Se rechazan los arrays vacíos y las entradas de más de 128 bytes para evitar valores inútiles o cargas accidentales que aparenten ser huellas válidas.
Elija la representación que espera el sistema receptor
Seleccione <code>hex-colon</code> cuando una herramienta, un inventario o un procedimiento espere dos dígitos hexadecimales en minúsculas por byte, separados por dos puntos. Cada byte conserva su anchura completa: cero se muestra como <code>00</code>, quince como <code>0f</code> y 255 como <code>ff</code>. Seleccione <code>base64</code> cuando el destino espere el alfabeto compacto habitual en las huellas SSH modernas. El resultado Base64 omite los signos igual finales, conforme a la presentación SSH convencional. Estas opciones solo cambian la representación; nunca alteran, invierten, recortan ni vuelven a calcular los bytes. La respuesta incluye <code>fingerprint</code> y <code>format</code> para que el código posterior conserve juntos el valor y su notación. Los nombres de formato son estrictos: una errata, una etiqueta no admitida o un cambio de mayúsculas produce un error, en vez de elegir silenciosamente un valor predeterminado que podría parecer correcto.
Compare las huellas con seguridad y conozca el límite
Use el valor formateado solo cuando sepa cómo se obtuvo el resumen original. Una coincidencia resulta significativa si ambos lados calcularon el mismo algoritmo sobre los mismos bytes canónicos de la clave pública. El formato no demuestra esas condiciones, no refuerza el resumen y no autentica un host. Si el protocolo no identifica el algoritmo, anótelo por separado. En automatización, normalice ambos valores desde sus bytes o exija un formato explícito en lugar de adivinarlo por la puntuación. Esta capacidad ofrece resultados estables para mensajes de terminal, informes de despliegue, inventarios, pantallas de aprobación y pruebas de regresión. No accede a la red ni almacena claves o huellas. La versión del navegador se ejecuta localmente y la automatización por API cuesta $0.002 por solicitud. Los bytes inválidos y formatos no admitidos fallan claramente. Si dos valores no coinciden, detenga el proceso y confirme el origen por un canal de confianza.
Qué puede hacer con ella
Preparar un aviso de verificación de host
Muestre un resumen con la notación exacta que verá un operador antes de aprobar un host SSH recién configurado.
Normalizar la salida del inventario
Mantenga una presentación uniforme aunque los escáneres de origen entreguen los bytes del resumen sin procesar.
Crear casos de prueba deterministas
Genere huellas esperadas y estables para herramientas SSH sin depender del sistema operativo ni de la configuración regional.
Preguntas frecuentes
¿Calcula el hash de una clave pública SSH?
No. Solo formatea bytes hash calculados previamente; el análisis de la clave y el cálculo del resumen se realizan antes.
¿Qué devuelve el formato Base64?
Devuelve el alfabeto Base64 estándar sin signos igual de relleno finales y conserva el orden original de los bytes.
¿El resultado hexadecimal conserva los ceros iniciales?
Sí. Cada byte se representa con exactamente dos dígitos hexadecimales en minúsculas, separados por dos puntos.
¿Qué valores de byte son válidos?
Cada elemento debe ser un entero entre 0 y 255, y el array debe contener entre uno y 128 elementos.
¿Qué ocurre si se solicita otro formato?
La solicitud falla como entrada inválida. Solo se admiten los valores <code>hex-colon</code> y <code>base64</code>.
¿Cuánto cuesta el formateo mediante API?
Cada solicitud a la API cuesta $0.002. También puede ejecutar el mismo formateador determinista en el navegador.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"hash_bytes": [
222,
173,
190,
239,
0,
1,
127,
128
],
"format": "hex-colon"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.ssh_key_fingerprint_format",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_items | 128 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |