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
keysiempre 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
exportal 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