AD

¿Ya dominas lo básico? Un curso estructurado de Ruby es la vía rápida para dar el salto.

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 34 / 68

Construir un cifrado César

En esta lección desplazarás cada letra unas posiciones en el alfabeto.

gsub con una expresión regular sustituye todo lo que coincida, y con un bloque decides el reemplazo carácter a carácter. ord da el código numérico de una letra y chr hace lo contrario. El % 26 hace que después de la Z se vuelva a la A.

El código de ejemplo desplaza tres posiciones un texto en mayúsculas.

Con el español hay que ser consciente de una limitación: el patrón [A-Z] no incluye la Ñ ni las vocales acentuadas, así que esas letras pasan sin cifrar. No es un fallo del ejemplo, es lo que hace el cifrado César clásico, pensado para el alfabeto latino de 26 letras. Si quisieras incluirlas tendrías que trabajar sobre otro alfabeto y ajustar el módulo.

Que quede claro: esto no es seguridad. Un cifrado César se rompe probando 25 posibilidades. Sirve para entender la idea de transformar y recuperar un texto. Para cifrar de verdad se usan bibliotecas como OpenSSL, y la regla de oro es no inventarse nunca un algoritmo propio.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Ruby directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)