Cifrar un texto
Cifrar un campo antes de que llegue a su base de datos no debería obligarle a incorporar una librería criptográfica completa en cada servicio que toque datos sensibles. Esta API ejecuta cifrado y descifrado AES-256-GCM con una clave que usted proporciona en cada llamada, de modo que la operación se hace correctamente y la clave misma no queda guardada después.
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
Por qué AES-256-GCM específicamente
AES es el cifrador simétrico aprobado por el gobierno de Estados Unidos desde que el NIST lo seleccionó en 2001 como sucesor del envejecido estándar DES, y la variante de clave de 256 bits sigue siendo la opción conservadora cuando los datos deben permanecer protegidos durante años. GCM, el modo Galois/Counter, agrega autenticación además del cifrado: no solo oculta los datos, también detecta si un solo bit del texto cifrado fue manipulado, exactamente la propiedad que necesita para cualquier cosa que se almacene o transmita donde un atacante podría intentar modificarla sin ser detectado.
Cómo se ven la solicitud y la respuesta
Envíe POST /dev/encrypt con su texto plano (o el texto cifrado, para descifrar), su clave de 256 bits y la operación que quiere realizar. La tarea corre de forma asíncrona, devolviendo un task_id de inmediato, y el resultado — el texto cifrado más la etiqueta de autenticación y el nonce para el cifrado, o el texto plano recuperado para el descifrado — llega por webhook firmado o por un enlace firmado válido durante 24 horas.
La clave nunca persiste, por diseño
Usted aporta la clave en cada llamada y se usa estrictamente para realizar esa operación puntual, descartándose al terminar la tarea; nunca se registra en logs, se guarda en caché ni se reutiliza entre solicitudes. Esto importa porque todo el modelo de seguridad del cifrado simétrico colapsa en el momento en que una clave se filtra donde no debería quedar almacenada, así que la API está construida para conservarla el menor tiempo posible en lugar de tratar la custodia de claves como una funcionalidad.
Quién recurre a esto en lugar de una librería local
Los equipos usan este endpoint cuando un servicio ligero, una función serverless o un script escrito en un lenguaje sin una librería criptográfica madura necesita cifrar un campo antes de escribirlo en almacenamiento, cuando un pipeline de datos necesita cifrar valores de forma consistente entre servicios escritos en distintos lenguajes, o cuando una aplicación prefiere delegar la operación en vez de gestionar internamente los parámetros del cifrador, la generación del nonce y el manejo correcto de la etiqueta de autenticación.
Qué esperar ante un fallo y en la entrega
Una clave de longitud incorrecta, un nonce faltante al descifrar, o un texto cifrado manipulado que falla la verificación de autenticación de GCM devuelven un error específico y accionable en lugar de un resultado corrupto silencioso, y ninguno de esos intentos fallidos se cobra. Las tareas exitosas se reintentan automáticamente hasta tres veces ante errores transitorios antes de que llegue a ver un fallo.
Qué puede hacer con ella
Cifrado de campos antes de almacenar
Cifre un valor sensible en un servicio ligero antes de escribirlo en su base de datos, sin agregar una dependencia criptográfica a ese servicio.
Pipelines multilenguaje
Mantenga el cifrado consistente cuando distintas etapas de un pipeline de datos están escritas en lenguajes diferentes, centralizando la operación en un solo lugar.
Contextos serverless y scripts
Cifre o descifre un valor desde una función de vida corta o un script de automatización que no debería cargar una librería criptográfica completa.
Descifrado en lectura
Recupere el texto plano para un proceso autorizado que lee un campo cifrado, con detección automática de manipulación mediante la etiqueta de autenticación.
Preguntas frecuentes
¿Qué algoritmo de cifrado usa esta API?
AES-256-GCM, un cifrador simétrico de 256 bits con autenticación incorporada que detecta si el texto cifrado fue alterado.
¿Debo proporcionar mi propia clave de cifrado?
Sí, usted suministra una clave de 256 bits en cada solicitud; no existe almacenamiento gestionado de claves, por diseño.
¿Guardan las claves de cifrado que envío?
No, las claves se usan únicamente para realizar esa operación puntual y se descartan de inmediato después, sin registrarlas ni reutilizarlas.
¿Es gratuita la API de cifrado?
La herramienta de arriba es gratis en su navegador. La API es de pago: cada llamada se descuenta de su saldo prepago de ForHosting KIT — se recarga desde $10.00 (no caduca), se paga el precio publicado de cada solicitud, y una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens, y una tarea fallida no se cobra.
¿Cuánto cuesta cifrar o descifrar un valor?
$0.002 por solicitud para cualquiera de las dos operaciones, y una tarea fallida, como un error de verificación de autenticación, nunca se cobra.
¿Cómo sé si un texto cifrado fue manipulado?
La etiqueta de autenticación de GCM se verifica automáticamente al descifrar, y una discrepancia devuelve un error claro en lugar de un texto plano corrupto.
¿Puedo usarla para cifrar campos en lote?
Sí, envíe solicitudes separadas para cada valor; cada una se procesa y se cobra de forma independiente al mismo precio por solicitud.
¿Sigue siendo suficientemente fuerte AES-256-GCM en 2026?
Sí, sigue siendo un estándar ampliamente confiable para cifrado simétrico, siempre que la clave se genere de forma segura y nunca se reutilice con el mismo nonce.
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, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/encrypt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/dev/encrypt", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/encrypt",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/encrypt", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/encrypt", 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
{
"items": [
"valor-1",
"valor-2"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.encrypt",
"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. |