Cifrado Unicode ROT8000
Hello se convierte en 聈聥聬聬聯: cada carácter del Plano Multilingüe Básico, con espacios, dígitos y cualquier alfabeto, salta la mitad del plano, y el mismo paso devuelve el texto original. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello
- Resultado
- 聈聥聬聬聯
- Codificación
- rot8000
- Longitud de entrada
- 5
- Longitud de salida
- 5
Este cifrado Unicode ROT8000 aplica una rotación reversible sobre todo el Plano Multilingüe Básico, desplazando cada unidad de código UTF-16 en treinta y dos mil setecientos sesenta y ocho posiciones y cerrando con aritmética modular. Como ese desplazamiento es exactamente la mitad del plano de sesenta y cinco mil quinientas treinta y seis unidades, la misma operación tanto revuelve como restaura el texto: envíe texto plano una vez para ocultarlo y envíe de nuevo el cifrado para recuperar el original. A diferencia de ROT13 solo de letras o de ROT47 de ASCII imprimible, ROT8000 mueve juntos espacios, puntuación, dígitos, letras latinas, ideogramas CJK y el resto de unidades del BMP, de modo que las notas de escritura mixta se ofuscan con la misma densidad que el inglés puro. Las comprobaciones habituales incluyen que Hello se convierte en la cadena de aspecto CJK que vuelve al original en una segunda llamada.
Qué es ROT8000 y qué devuelve esta herramienta
ROT8000 es un cifrado de sustitución sobre el Plano Multilingüe Básico: las sesenta y cinco mil quinientas treinta y seis unidades de código UTF-16 desde U+0000 hasta U+FFFF. Cada unidad se mapea a la unidad treinta y dos mil setecientos sesenta y ocho pasos por delante, con aritmética modular, de modo que el nuevo código son los dieciséis bits bajos del código original más 0x8000.
Letras, dígitos, puntuación, espacios en blanco y escrituras no latinas se mueven juntos, lo que hace a ROT8000 mucho más denso que el ROT13 solo de letras y mejor para revolver tokens Unicode mixtos como contraseñas internacionales, fragmentos de configuración y cadenas de desafío multiescritura. Esta página usa siempre esa regla modular exacta, sin parámetro de desplazamiento opcional ni tablas de alfabeto que puedan variar entre idiomas.
Acertijos y demostraciones multilingües con ROT8000
Los desarrolladores y educadores se encuentran con ROT8000 en calentamientos de captura la bandera, capítulos de libros sobre cifrados Unicode clásicos y ofuscación ligera del lado del cliente que debe revertirse con una sola función en lugar de un calendario de claves. Los equipos de frontend pueden revolver credenciales multilingües de ejemplo o cadenas con forma de token para capturas de pantalla sin inventar un alfabeto personalizado que solo cubra letras latinas.
Los ingenieros de calidad generan pares de codificación deterministas para pruebas de contrato, de modo que un middleware que afirma admitir ROT8000 no pueda cambiar en silencio a ROT13, ROT47 u otro desplazamiento. Los organizadores de concursos precalculan claves de respuesta para frases Unicode modestas sin confiar en juguetes web opacos que cambian las reglas de subrogados. Las herramientas de producto y educación usan la transformación cuando un estudiante pega cifrado y la interfaz debe mostrar el texto plano recuperado bajo la propiedad de involución.
Combínelo con otros ayudantes de codificación cuando construya un pequeño laboratorio de herramientas de texto Unicode gratuitas y deterministas.
Qué puede hacer con ella
Calentamientos de CTF y cifrado Unicode
Ofusque y restaure texto del BMP con una sola rotación reversible de medio plano para acertijos, aulas y práctica de captura la bandera.
Ofuscación reversible multiescritura
Oculte tokens multilingües de ejemplo o fragmentos de configuración en documentación y capturas, y recupérelos con la misma llamada ROT8000.
Preguntas frecuentes
¿Cuánto cuesta el cifrado Unicode ROT8000?
Es gratis en el navegador en esta página.
¿Cómo se decodifica ROT8000?
Aplique de nuevo la misma transformación. ROT8000 es una involución: codificar y decodificar son operaciones idénticas sobre el Plano Multilingüe Básico.
¿Qué caracteres se desplazan?
Cada unidad de código UTF-16 de la cadena se rota en 0x8000 dentro del BMP (U+0000–U+FFFF). No hay subconjunto solo imprimible: también se mueven espacios y CJK.
¿El resultado es determinista?
Sí. El mismo texto produce siempre el mismo resultado, sin red, aleatoriedad ni comportamiento dependiente de la fecha.
¿Por qué Hello se convierte en caracteres que parecen chinos?
Cada carácter avanza media vuelta del Plano Multilingüe Básico, y las letras latinas caen en la zona de los ideogramas chinos, japoneses y coreanos. El resultado solo lo parece: no significa nada y, al repetir el paso, vuelve Hello.
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/rot8000 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello"}'const res = await fetch("https://api.kit.forhosting.com/enc/rot8000", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/rot8000",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/rot8000", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/rot8000", 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"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.rot8000",
"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
Úselo gratis en el navegador para calentamientos de CTF, demostraciones de ofuscación Unicode reversible y hojas de ejercicios, o llame a la API a $0.002 por solicitud exitosa cuando los flujos necesiten transformaciones ROT8000 reproducibles en integración continua y servicios de backend.
Qué es ROT8000 y qué devuelve esta herramienta
La respuesta JSON incluye result para la cadena transformada, encoding fijo en rot8000, input_length y output_length que coinciden porque ROT8000 preserva la longitud en unidades UTF-16, shifted_units contando cuántas unidades se rotaron (siempre igual a la longitud de entrada en una solicitud válida), y una cadena formula que reafirma el mapeo modular para documentación y pruebas. No hay ruta en streaming ni un fallback silencioso a ROT13 o ROT47: o usted proporciona texto no vacío y recibe la transformación completa, o la solicitud falla con invalid_input. Si necesita rotación solo de ASCII imprimible, Base64 seguro para URL o Morse, use esos endpoints dedicados; esta página responde únicamente el contrato de rotación BMP de ROT8000 que ya describen las guías de cifrado Unicode y la ofuscación ligera.
Cómo se lee el texto y cómo los resultados se mantienen reproducibles
Cada unidad de código UTF-16 se procesa de forma independiente con el mapa modular fijo, así que aplicar la transformación dos veces siempre produce la carga original. El campo de carga preferido es text, con los alias input, value, s y message, para que formularios, cadenas de consulta y clientes de SDK reutilicen el mismo contrato sin renombrar columnas. La cadena debe estar presente y no vacía; los campos ausentes, los tipos que no son cadena y la cadena vacía elevan invalid_input con un mensaje claro, de modo que un formulario en blanco no parezca una operación exitosa sin efecto. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite el mismo resultado matemático dentro de un flujo automatizado, sin reimplementar usted mismo la rotación de medio plano. Las entradas inválidas devuelven invalid_input y no se cobran, lo que mantiene barata la validación mientras las transformaciones exitosas siguen teniendo un precio fijo por elemento. Los campos de longitud y el contador shifted_units ayudan a las pruebas a verificar que cada unidad se movió y que la longitud de salida coincide con la de entrada, sin volver a derivar la aritmética modular en cada aserción.
Dónde encaja ROT8000 en acertijos, demostraciones y fixtures de prueba
Los servicios de backend codifican fragmentos cortos de configuración para API de acertijos o entornos de enseñanza donde los estudiantes deben aplicar el mismo desplazamiento de medio plano para desbloquear el siguiente paso. En esta página el trabajo se ejecuta enteramente en su navegador; a través de la API cada consulta exitosa cuesta $0.002, la validación fallida no se cobra y no se almacena nada después de devolver la respuesta. Esa división —exploración interactiva gratuita y una API de pago idéntica— coincide con el resto del catálogo tier A del KIT y le permite pasar de una demostración de aula a un flujo automatizado sin cambiar el resultado transformado.
Casos de integración
Fixtures deterministas de integración continua
Genere cadenas ROT8000 reproducibles para pruebas unitarias, ficheros golden y comprobaciones de contrato entre servicios.
Preguntas técnicas
¿Qué ocurre con la entrada vacía?
El texto vacío o ausente falla con invalid_input y no se cobra. Proporcione una cadena no vacía.