Cifrador simétrico de rot13
Hola qué tal, este es un pequeño cifrador simétrico, en el texto pon un texto que quieras cifrar y en la llave pon las casillas que quieres saltar (te recomiendo 13)
Texto
llave
1 / 26
# Creando la funcion principal
def rot(texto:str, clave:int, cifrar:bool = True, json_return:bool = False):
"""Función de cifrado y descifrado basado en la rotación
---
Esta función permite cifrar un texto basándome en un cifrado de rotación, lo cual, admite los siguientes parámetros:
- texto (str): Es el texto que se busca modificar.
- clave (int): Es la cantidad de rotaciones que se busca hacer.
- cifrar (bool): Identifica si se requiere cifrar o descifrar, siendo True para cifrar y False para descifrar."""
abecedario = "abcdefghijklmnopqrstuvwxyz"
texto_cifrado = ""
for letra in texto:
puesto = abecedario.find(letra.lower())
if puesto == -1:
texto_cifrado += letra
continue
else:
if cifrar:
puesto_cifrado = puesto+clave
else:
puesto_cifrado = puesto-clave
puestos = puesto_cifrado % len(abecedario)
#print (puesto_cifrado, len(abecedario), puestos)
lf = abecedario[puestos]
if letra == letra.upper():
lf = abecedario[puestos].upper()
texto_cifrado += lf
return texto_cifrado
Run to view results
print (rot(Texto, llave))
Run to view results