Cifrar un texto
Cifre o descifre un texto con AES-256-GCM y su propia clave: el resultado lleva una etiqueta de autenticación, así que se detecta el cambio de un solo bit en el texto cifrado. La clave se usa una vez y nunca se guarda. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Iv
- YJfzfA/ScMp/4t0F
- Key
- clave-de-prueba
- Modo de cálculo
- Decrypt
- Texto
- saldo: 128.40 USD
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.
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.
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
¿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.
¿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.
¿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.
¿Qué necesito guardar para descifrar el texto después?
El texto cifrado, el nonce y su clave. Al cifrar recibe el texto cifrado con su etiqueta de autenticación y su nonce, un valor de un solo uso; para descifrar hace falta de nuevo ese nonce, y sin él la operación se detiene con un error claro.
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/dev/encrypt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"secreto","key":"0123456789abcdef0123456789abcdef"}'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({
"text": "secreto",
"key": "0123456789abcdef0123456789abcdef"
})
});
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={
"text": "secreto",
"key": "0123456789abcdef0123456789abcdef"
},
)
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" => '{"text":"secreto","key":"0123456789abcdef0123456789abcdef"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"secreto","key":"0123456789abcdef0123456789abcdef"}`)
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
{
"text": "secreto",
"key": "0123456789abcdef0123456789abcdef"
}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. |
Notas técnicas
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.
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.
Preguntas técnicas
¿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.
¿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.
¿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.