Codificador OpenPGP Radix-64
«Hello, OpenPGP!» se convierte en el cuerpo Radix-64 SGVsbG8sIE9wZW5QR1Ah más la línea de control =FPfi: la armadura de OpenPGP, cuyo CRC-24 permite al destinatario detectar daños antes de fiarse del texto. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello, OpenPGP!
- Resultado
- SGVsbG8sIE9wZW5QR1Ah =FPfi
- Modo de cálculo
- Encode
- Cuerpo
- SGVsbG8sIE9wZW5QR1Ah
- Crc24
- FPfi
La armadura ASCII de OpenPGP transporta cargas binarios por correo y canales de texto codificándolos en Radix-64 —el mismo alfabeto de sesenta y cuatro caracteres que el Base64 estándar— y añadiendo una línea de suma de comprobación CRC-24 para que el receptor detecte corrupción antes de analizar paquetes. Quien busca un codificador OpenPGP Radix-64 necesita exactamente esa forma de cable: líneas Base64 plegadas más un sumatorio final de cuatro caracteres con prefijo igual, no un blob Base64 sin integridad. Esta capacidad codifica texto UTF-8 en ese cuerpo armado, o decodifica un cuerpo armado tras verificar el CRC-24 frente a los octetos reconstruidos.
Codificar texto a OpenPGP Radix-64 con cola CRC-24
El motor serializa la cadena a bytes UTF-8, proyecta esos bytes sobre el alfabeto OpenPGP Radix-64 (idéntico al Base64 MIME: de A a Z, de a a z, del cero al nueve, más y barra, con relleno de igual cuando la longitud no es múltiplo de tres) y calcula la comprobación cíclica de veinticuatro bits definida en la RFC 4880 sección seis: polinomio generador cero-x-ocho-seis-cuatro-C-F-B e inicialización cero-x-B-siete-cero-cuatro-C-E, acumulada sobre los octetos crudos antes de codificar.
Ese CRC se codifica a su vez en exactamente cuatro caracteres Radix-64 y se escribe en su propia línea final tras un signo igual inicial. Por defecto wrap es true, de modo que el cuerpo Base64 se pliega a sesenta y cuatro caracteres por línea para coincidir con la legibilidad clásica de la armadura OpenPGP; fije wrap en false si necesita una sola línea continua para almacenamiento compacto. Las cadenas vacías son válidas y siguen produciendo una línea CRC sobre cero bytes.
El texto multilingüe y los emoji dan la vuelta completa porque la ruta es UTF-8 pleno. Entradas idénticas siempre producen la misma armadura porque el algoritmo es aritmética pura sin sal, reloj ni red.
En qué se diferencia Radix-64 del Base64 plano
Utilice el codificador OpenPGP Radix-64 gratuito en el navegador para demostraciones de aula, guías de soporte y comprobaciones puntuales de armadura sin instalar GnuPG. Otro flujo vuelve a verificar muestras de documentación que publican blobs armados para que el lector confíe en que la línea CRC sigue coincidiendo con el cuerpo. Frente al Base64 plano, esta página ataca una intención de búsqueda distinta: quienes necesitan el remolque de sumatorio OpenPGP y el plegado de líneas, no solo un alfabeto con relleno.
Frente a herramientas de mensajes OpenPGP completos, esta capacidad se detiene deliberadamente en el cuerpo Radix-64 y el CRC —no ensambla paquetes, firmas ni cifrado—, de modo que el contrato permanece pequeño y determinista.
Qué puede hacer con ella
Armar secretos cortos para canales solo texto
Codifique fragmentos UTF-8 en OpenPGP Radix-64 con cola CRC-24 para que correo, chat y tickets los transporten con seguridad; decodifique y verifique en el lado receptor.
Preguntas frecuentes
¿Qué es OpenPGP Radix-64?
Es el alfabeto estilo Base64 que OpenPGP usa en la armadura ASCII, más una línea final de sumatorio CRC-24 (=XXXX) calculada sobre los bytes crudos antes de codificar (RFC 4880 §6).
¿Es lo mismo que el Base64 plano?
El alfabeto coincide con el Base64 estándar, pero la armadura OpenPGP añade un remolque CRC-24 obligatorio y suele plegar líneas a 64 caracteres. Las herramientas Base64 planas omiten ese sumatorio.
¿Qué ocurre si la suma de control CRC-24 no coincide?
Al decodificar se recalcula el CRC-24 sobre los bytes recuperados y se compara con la línea final de cuatro caracteres. Una diferencia, una línea de control ausente, un carácter fuera del alfabeto o bytes que no son texto UTF-8 válido detienen el proceso con un aviso claro.
¿Puedo dejar el texto armado en una sola línea?
Sí. Por defecto el Base64 se corta cada 64 caracteres, como en la armadura clásica de OpenPGP. Desactive el corte de líneas al codificar y obtendrá una única línea continua más la línea de control, práctica para guardarlo de forma compacta.
¿Puedo pegar un bloque PGP completo con sus líneas BEGIN y END?
Sí. Las líneas de cabecera como BEGIN y END y los encabezados sencillos se eliminan antes de decodificar, así que un bloque armado más grande también funciona. La herramienta solo trata el texto Radix-64 y su control; no crea paquetes, firmas ni cifrado.
Herramientas relacionadas
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/enc/base64-radix64 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, OpenPGP!"}'const res = await fetch("https://api.kit.forhosting.com/enc/base64-radix64", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, OpenPGP!"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base64-radix64",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, OpenPGP!"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base64-radix64", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, OpenPGP!"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, OpenPGP!"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base64-radix64", 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
{
"text": "Hello, OpenPGP!"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base64_radix64",
"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.
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. |
Notas técnicas
Sumas que no coinciden, líneas CRC ausentes, caracteres ilegales y cargas que no son UTF-8 fallan con un error invalid_input claro en lugar de basura silenciosa.
Codificar texto a OpenPGP Radix-64 con cola CRC-24
Envíe un cuerpo JSON con el campo de cadena obligatorio text igual al mensaje en claro que desea armar, y deje mode en su valor predeterminado encode o fije mode en encode de forma explícita. La respuesta incluye result (cuerpo más línea CRC), body (Base64 continuo sin el sumatorio), crc24 (el token de cuatro caracteres), crc24_hex (seis dígitos hexadecimales en minúsculas), crc_ok true, bytes (longitud UTF-8), mode encode y wrap. Se aceptan los alias opcionales input, value y s para el campo text; direction, op y action como alias de mode; line_wrap y fold como alias de wrap.
Decodificar Radix-64 armado y verificar el CRC-24
Fije mode en decode y coloque en text un cuerpo armado al estilo OpenPGP: una o más líneas Base64 seguidas de una línea final de sumatorio con forma igual más cuatro caracteres del alfabeto. Las líneas opcionales de enmarcado PGP completo, como banners BEGIN o END y pares clave-valor de cabecera simples, se eliminan para que pegar un bloque de armadura mayor siga funcionando cuando solo necesita el cuerpo Radix-64. El motor concatena las líneas del cuerpo, decodifica el alfabeto estándar, vuelve a calcular el CRC-24 sobre los octetos recuperados y lo compara con el remolque de cuatro caracteres. Prefiera esta capacidad cuando la intención de búsqueda sea OpenPGP Radix-64, armadura ASCII CRC-24 o verificación de sumatorios armados; el texto a Base64 sin remolque pertenece a las herramientas Base64 estándar, y las cookies seguras para URL a los codificadores base64url. Cuando el sumatorio no coincide, la tarea falla de inmediato con invalid_input y un mensaje que informa el CRC reclamado y el calculado en hexadecimal, de modo que los operadores distinguen truncamiento de cambios de bit sin adivinar. Líneas CRC ausentes, cuerpos vacíos, caracteres ilegales, errores de relleno y cargas que no son UTF-8 también lanzan invalid_input con un motivo concreto. Los fallos de validación no se cobran en la API prepago.
Uso de la API, precio, flujos y diferencias con el Base64 plano
Emplee la API prepago del KIT cuando un backend, un worker de borde o un SDK necesite el mismo paso de codificar o decodificar bajo saldo a $0.002 por elemento correcto; la validación fallida nunca consume saldo tras el rechazo del motor. Un flujo típico codifica un fragmento breve de configuración para transportarlo por un sistema de tickets que solo admite ASCII imprimible, y luego decodifica en el servicio receptor con mode decode y comprueba que crc_ok sea true y que bytes coincida con la longitud original. Quienes publican SDK pueden mapear result a un botón de copiar y exponer crc24_hex como etiqueta legible de integridad en paneles y ejemplos OpenAPI.
Casos de integración
Anclajes de sumatorio en CI y documentación
Pruebe con goldens muestras armadas: codificar y luego decodificar debe cerrar el ciclo, y una línea CRC alterada debe lanzar invalid_input antes de la publicación.
Soporte y formación sin GnuPG completo
Agentes y alumnos generan o verifican cuerpos Radix-64 en el widget gratuito del navegador cuando solo necesitan el formato de armadura y el CRC-24, no la criptografía de paquetes.
Preguntas técnicas
¿Cómo codifico texto a Radix-64 con un CRC?
Envíe JSON con text igual a su cadena en claro y mode encode (u omita mode). result contiene el cuerpo Base64 (opcionalmente plegado a 64 columnas) y una línea final =CRC.
¿Qué ocurre si el sumatorio CRC-24 no coincide?
La decodificación falla con invalid_input e informa los valores CRC reclamado y calculado. La petición no se cobra.
¿Cuánto cuesta el codificador OpenPGP Radix-64?
La herramienta del navegador es gratuita. Las peticiones a la API usan saldo prepago del KIT a $0.002 por elemento correcto; la entrada inválida no se factura.