|Cifrado VigenèreMedio
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 10:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Cifrado Vigenère

Medio25 pts·Strings

Enunciado

Cifrado Vigenère

El cifrado Vigenère es un método de cifrado polialfabético que extiende el cifrado César usando una palabra clave.

Dada una cadena de texto text y una clave key, cifra el texto usando el algoritmo de Vigenère:

  • Solo se cifran las letras del alfabeto (a-z, A-Z). Los demás caracteres (espacios, comas, signos de puntuación, etc.) se dejan sin cambio.
  • La clave se aplica letra a letra, en ciclo, pero solo avanza con cada letra del texto; los caracteres no alfabéticos no consumen posición en la clave.
  • Se preserva el case original de cada letra del texto (mayúsculas siguen siendo mayúsculas, minúsculas siguen siendo minúsculas).
  • La clave puede estar en cualquier combinación de mayúsculas/minúsculas (se trata como si fuera toda minúscula).

Fórmula

Para cada letra del texto con índice i en el alfabeto (0-25), y la letra de la clave k (también 0-25):

carácter_cifrado = (i + k) mod 26

Ejemplos

vigenereEncrypt("HELLO", "KEY")     // "RIJVS"
vigenereEncrypt("hello", "key")     // "rijvs"
vigenereEncrypt("Hello, World!", "secret")  // "Zincs, Pgvnu!"
vigenereEncrypt("Attack at dawn", "lemon")  // "Lxfopv ef rnhr"
vigenereEncrypt("", "key")          // ""
vigenereEncrypt("abc", "a")         // "abc"

Notas

  • Puedes asumir que key siempre tendrá al menos un carácter y solo contendrá letras.
  • La clave se reutiliza (cicla) según sea necesario.
Restriccionesexpand_more
  • Dificultad: Medio
  • Completa todos los test cases para obtener los 25 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Cifrado Vigenère — Medio | Coding Challenges · Coding Challenges