Skip to content

Instantly share code, notes, and snippets.

@bayasdev
Created January 28, 2023 17:55
Show Gist options
  • Save bayasdev/0a737383459027e0e5dc7d9b532850bc to your computer and use it in GitHub Desktop.
Save bayasdev/0a737383459027e0e5dc7d9b532850bc to your computer and use it in GitHub Desktop.
solución encriptación estilo ROT (PyPizza 2023)
letras_numeros = {
'A': 1,
'B': 2,
'C': 3,
'D': 4,
'E': 5,
'F': 6,
'G': 7,
'H': 8,
'I': 9,
'J': 10,
'K': 11,
'L': 12,
'M': 13,
'N': 14,
'O': 15,
'P': 16,
'Q': 17,
'R': 18,
'S': 19,
'T': 20,
'U': 21,
'V': 22,
'W': 23,
'X': 24,
'Y': 25,
'Z': 26,
' ': 27
}
def encriptar(string):
resultado = ''
string_mayusculas = string.upper()
for caracter in string_mayusculas:
letra_numero = letras_numeros[caracter]
letra_numero += 13
if letra_numero > 27:
modulo = letra_numero % 27
else:
modulo = letra_numero
for letra, numero in letras_numeros.items():
if numero == modulo:
letra_encriptada = letra
resultado += letra_encriptada
return resultado
def desencriptar(string):
resultado = ''
string_mayusculas = string.upper()
for caracter in string_mayusculas:
letra_numero = letras_numeros[caracter]
letra_numero -= 13
if letra_numero < 1:
letra_numero += 27
for letra, numero in letras_numeros.items():
if numero == letra_numero:
letra_desencriptada = letra
resultado += letra_desencriptada
return resultado
input_usuario = input('Ingrese una cadena de texto: ')
cadena_encriptada = encriptar(input_usuario)
print(f'Cadena encriptada: {cadena_encriptada}')
cadena_desencriptada = desencriptar(cadena_encriptada)
print(f'Cadena desencriptada: {cadena_desencriptada}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment