Codificador / Decodificador del Cifrado ROT47|Una sola función cubre dígitos y signos que ROT13 deja intactos
Aplica ROT47 a los caracteres ASCII imprimibles 33-126, desplazando cada uno 47 posiciones. A diferencia del ROT13, que solo toca letras, también convierte dígitos y símbolos. Al ser autoinverso, pasar el texto dos veces lo devuelve al original.
💡 Sobre esta herramienta
Si alguna vez intentaste ocultar un texto con ROT13 y descubriste que los números y los paréntesis quedaban a la vista, ROT47 es lo que buscabas. ROT13 solo rota las 26 letras 13 posiciones, así que una cadena como Player1 (HP:30) deja todos los dígitos y signos legibles.
ROT47 amplía el alfabeto a los 94 caracteres ASCII imprimibles del 33 al 126 y los desplaza 47 — justo la mitad de 94. Como el desplazamiento es la mitad del ciclo, codificar y decodificar son exactamente la misma operación. No hay un modo de decodificación aparte: pasa cualquier cadena dos veces y vuelves al texto original.
Los espacios, tabulaciones, saltos de línea y todo lo que esté fuera del rango ASCII imprimible se conservan sin cambios, de modo que tu estructura de líneas se mantiene mientras la parte alfanumérica y los símbolos quedan revueltos.
🧐 Cómo funciona paso a paso
¿Cómo se calcula el desplazamiento?
A cada carácter con código entre 33 y 126 se le aplica la fórmula 33 + ((código − 33 + 47) mód 94). Restar 33 lleva el rango a 0-93, se suma 47, se toma el módulo 94 para envolver, y se vuelve a sumar 33. Por ejemplo, la A (código 65) se convierte en p, y p vuelve a A.
¿En qué se diferencia de ROT13? ROT13 rota solo las 26 letras 13 posiciones. ROT47 rota los 94 caracteres imprimibles (incluidos dígitos y símbolos) 47 posiciones. Usa ROT47 cuando necesites revolver también números y signos.
¿Qué pasa con las tildes, la ñ o los emojis? Se conservan tal cual. Solo se desplazan los códigos del 33 al 126, así que las letras acentuadas, la ñ y los caracteres Unicode permanecen sin cambios.
¿Es un cifrado seguro? No. ROT47 no tiene clave y cualquiera puede revertirlo con el mismo procedimiento público. Sirve para ofuscar a simple vista, nunca como medida de seguridad.
¿Por qué no hay botón de decodificar? Porque el cifrado es autoinverso. Vuelve a pegar la salida codificada en la entrada y el mismo paso ROT47 la decodifica.
📚 Por qué 47 hace que sea reversible
La elección del número 47 no es arbitraria: es la mitad exacta del ciclo de 94 caracteres. En un cifrado de rotación, desplazar por la mitad del período garantiza que dos aplicaciones devuelvan cada carácter a su origen, una propiedad que en matemáticas se llama involución.
ROT13 funciona igual sobre 26 letras (13 es la mitad de 26), y ROT47 traslada esa misma idea al bloque imprimible completo de ASCII. Entender este detalle convierte a ROT47 en un buen primer ejemplo para aprender aritmética modular: el operador módulo es lo que hace que el alfabeto se comporte como un círculo y que cualquier desplazamiento se mantenga dentro del rango válido.