You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
896 B

from Crypto.Cipher import DES
import base64
import os
mensajeOriginal = "Visita GALICIA: el paraíso".encode("utf-8")
print ("Mensaja original:", mensajeOriginal.decode("utf-8"))
key = b"abc123.." #establecemos una clave
iv = os.urandom(8) #generamos aleatoriamente un iv
print (iv)
#instanciamos un nuevo objeto DES
cipher = DES.new(key, DES.MODE_OFB,iv=iv)
#ciframos los datos
bytesCifrados = cipher.encrypt(mensajeOriginal)
print ("Bytes cifrados: ", bytesCifrados)
#para imprimir una mejor representación
mensajeCifrado = base64.b64encode(bytesCifrados).decode("utf-8")
print ("Mensaje Cifrado:", mensajeCifrado)
#es necesario un nuevo objeto para descifrar
cipher = DES.new(key, DES.MODE_OFB,iv = iv)
#desciframos usando la misma key e iv
mensajeDescifrado = cipher.decrypt(bytesCifrados)
print ("Mensaje: ", mensajeDescifrado.decode())
assert (mensajeOriginal == mensajeDescifrado)

Powered by Informatica FP.