Cifrado ROT-N
Elija cualquier desplazamiento de 0 a 25: con 13, Hello, World! se convierte en Uryyb, Jbeyq!; con 3 obtiene el clásico cifrado César, y al decodificar cada letra retrocede lo mismo. Dígitos y signos nunca se mueven. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello, World!
- N
- 13
- Modo de cálculo
- Encode
- Resultado
- Uryyb, Jbeyq!
- N efectivo
- 13
- Longitud
- 13
- Letras rotadas
- 10
ROT-N es la forma general del conocido cifrado de sustitución ROT13: usted elige un giro entero N y cada letra latina avanza ese número de posiciones en el alfabeto, mientras dígitos, espacios y puntuación permanecen iguales. Como el alfabeto es un círculo de veintiséis letras, el transformado envuelve de Z a A y de z a a, y las mayúsculas se conservan para que el mensaje conserve su forma. El modo encode aplica más N; el modo decode aplica menos N, de modo que la misma herramienta oculta y revela el texto cuando conoce el desplazamiento.
Cómo funciona la rotación ROT-N y qué contiene la respuesta
ROT-N trata las veintiséis letras latinas como un círculo modular. Para cada mayúscula, asigne A a cero hasta Z a veinticinco, sume el desplazamiento efectivo, tome el resto módulo veintiséis y vuelva a mapear a una letra del mismo caso. Las minúsculas siguen la misma aritmética dentro de a hasta z.
Los caracteres fuera de esos dos rangos —incluidos dígitos, espacios en blanco, puntuación, emoji y scripts no latinos— se copian sin cambio para que el esqueleto de la frase sobreviva al transformado. El modo encode usa el entero N que usted suministra como rotación hacia adelante; el modo decode usa el inverso modular, equivalente a rotar por veintiséis menos N cuando N no es cero.
Un desplazamiento de cero es la identidad; trece es el ROT13 clásico y es una involución; tres reproduce el ejemplo César de muchos libros de texto. El mode opcional por defecto es encode si se omite.
Reglas de validación, desplazamientos fuera de rango y errores habituales
El desplazamiento N debe ser un número entero de cero a veinticinco inclusive. Ese rango estricto es deliberado: la intención de búsqueda de ROT-N espera una rotación nombrada en el círculo del alfabeto, no un envoltorio silencioso de enteros arbitrarios que ocultaría errores de deberes. Las frases de mayúsculas y minúsculas mixtas conservan el caso porque los alfabetos superior e inferior rotan por separado.
Letras no ASCII como latinas acentuadas o cirílicas no rotan en esta definición clásica; pasan sin cambio para que el algoritmo sea fiel a la familia ROT que la gente busca. No trate el resultado como cifrado de seguridad: quien conoce N puede invertir el texto al instante, y la página del producto no debe vender ROT-N como control de secretos, contraseñas o datos personales.
Prefiera esta landing cuando la consulta sea literalmente cifrado rot-n, codificador rot n o rotar letras por N; ROT13, ROT5, ROT18 fijos o una página César general con claves históricas cubren intenciones distintas y deben seguir siendo herramientas separadas.
Qué puede hacer con ella
Acertijos y calentamientos CTF con N variable
Codifique o decodifique cadenas de reto con cualquier N de 0 a 25 sin escribir un script aparte para cada colección de problemas.
Demos de aritmética modular en clase
Muestre que encode con N y decode con el mismo N restauran el texto original, y que los desplazamientos fuera de rango fallan con claridad.
Preguntas frecuentes
¿Qué es un cifrado ROT-N?
Una sustitución clásica que rota cada letra latina N posiciones enteras en el círculo del alfabeto (módulo 26). Las no letras no cambian.
¿Cómo codifico y decodifico?
Envíe text y n con mode encode (predeterminado) para rotar hacia adelante. Use el mismo n con mode decode para rotar hacia atrás y recuperar el contenido de letras latinas original.
¿Qué ocurre si el desplazamiento está fuera de rango?
N debe ser un entero de 0 a 25 inclusive; valores como 26, −1 o 3.5 se rechazan y no se cobran.
¿Se rotan espacios y puntuación?
No. Solo se mueven A–Z y a–z. Espacios, dígitos, puntuación y demás caracteres pasan sin cambio para que la estructura de la frase siga legible.
¿Cuánto cuesta?
La herramienta del navegador es gratuita y se ejecuta en su dispositivo.
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/rot-n \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello, World!","n":13}'const res = await fetch("https://api.kit.forhosting.com/enc/rot-n", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello, World!",
"n": 13
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rot-n",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello, World!",
"n": 13
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rot-n", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello, World!","n":13}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello, World!","n":13}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rot-n", 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, World!",
"n": 13
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rot_n",
"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 capacidad acepta texto no vacío y un entero N en el intervalo cerrado de cero a veinticinco, rechaza desplazamientos fuera de rango con un error invalid_input claro y devuelve la cadena rotada más contadores que puede afirmar en pruebas. Las llamadas API exitosas consumen saldo KIT prepago a $0.002 por ítem; los fallos de validación no se cobran.
Cómo funciona la rotación ROT-N y qué contiene la respuesta
Envíe un cuerpo JSON con el campo de cadena obligatorio text y el entero obligatorio n (se aceptan alias como shift y rot). En éxito la respuesta incluye el text original, n, mode, n_effective como rotación hacia adelante tras aplicar el modo, result con la cadena transformada, length de la entrada, letters_rotated contando cuántos caracteres alfabéticos se movieron, más etiquetas alphabet y cipher para clientes que fijan un perfil. Entradas idénticas producen siempre el mismo JSON porque la ruta es aritmética de caracteres pura, sin red, sin semilla aleatoria y sin reloj de pared.
Reglas de validación, desplazamientos fuera de rango y errores habituales
Valores como veintiséis, menos uno, tres punto cinco o una cadena no numérica fallan de inmediato con invalid_input y un mensaje en inglés que indica que el desplazamiento está fuera de rango o no es entero. Falta de text, text que no es cadena, cadenas vacías, n ausente y valores de mode no admitidos también provocan invalid_input y no se cobran en la API prepago. Cadenas solo de espacios con longitud mayor que cero se aceptan; solo rotan las letras, así que una cadena de espacios se devuelve igual con letters_rotated en cero.
Uso de la API, precios, flujos de aula y límites prácticos
Use el cifrado ROT-N gratuito en el navegador para borradores de acertijos, spoilers en foros, demos de clase y comprobaciones puntuales sin instalar openssl ni escribir un one-liner en cada lenguaje. Un flujo típico de aula muestra a los estudiantes que codificar con N y decodificar con el mismo N restaura el mensaje original, y luego contrasta esa identidad con un cifrado con clave verdadera más adelante en el temario. Los manuales de soporte pueden invertir notas de ticket ligeramente ofuscadas que el personal escribió a propósito con un giro compartido. Combine con herramientas Base64 o de codificación URL solo cuando un paso de transporte posterior necesite otro alfabeto: mantenga ROT-N en su propia landing para que la intención SEO de rotación variable de letras siga nítida y no canibalice páginas de desplazamiento fijo o de criptoanálisis completo. Use la API KIT prepago cuando un backend, función serverless, plataforma de tutoría o SDK necesite un contrato estable con saldo a $0.002 por ítem exitoso; los fallos de validación no consumen saldo tras el rechazo del motor. Los sitios de puzzles pueden precomputar respuestas para mostrarlas y revelarlas bajo demanda con el mismo endpoint cambiando mode a decode. Autores de SDK pueden mapear el campo result a un botón de copiar mientras n_effective y letters_rotated hacen autoexplicativos los ejemplos OpenAPI. Mantenga las cargas en tamaños de texto ordinarios adecuados a una llamada item de un Worker isolate; esta herramienta es para mensajes y fragmentos, no para blobs binarios de varios megabytes.
Casos de integración
Ofuscación de spoilers y etiquetas
Rote respuestas de cuestionario o etiquetas internas con un N compartido y reviértalas después con mode decode en el navegador o la API.