AD

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

Ver cursos de PHP en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐘Lecciones de PHP
Lección 34 / 68

Construir un cifrado César (desplazamiento de caracteres)

En esta lección cifrarás un texto desplazando cada letra unas posiciones.

ord() convierte un carácter en su número y chr() hace lo contrario. El resto (% 26) hace que después de la z se vuelva a la a.

El código de ejemplo cifra un texto y muestra el resultado.

Un límite importante para el español: ord() y chr() trabajan con bytes, así que la ñ y las vocales acentuadas, que ocupan dos bytes en UTF-8, se procesan a medias y se convierten en caracteres imprevistos. Es el mismo problema que con strlen(), y aquí no basta con una función mb_: haría falta trabajar carácter a carácter con mb_str_split().

Y conviene decirlo claro: el cifrado César no protege nada. Solo hay 25 desplazamientos posibles. Es un ejercicio excelente para entender los caracteres como números, y nunca una opción para datos reales, donde se usan password_hash() para contraseñas y openssl_encrypt() para cifrar.

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

🧪 Este sitio no puede compilar ni ejecutar PHP 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)