es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Acceda al array (Ndarray) sin espacio.

Tienes una imagen ndarray=[0 0 0 0 0 4 4 4 0 4 4 4 0 1 4 1]. Me gustaría encriptarla usando el algoritmo serpiente, por lo que necesito tomar el ndarray(imagen) como entrada para la serpiente. ¿Cómo puedo hacerlo?

Nota: Me gustaría leer el valor ndarray así: 0000044404440141 (sin espacios entre los elementos).

Alguien puede ayudarme, en python.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para cifrar un ndarray usando el algoritmo Serpent en Python, puedes seguir los siguientes pasos:

    1. Convertir el ndarray en un formato de cadena sin espacios usando el método ndarray.tostring() de numpy.
    image_str = image.tostring()
    
    1. Importar el algoritmo Serpent desde la biblioteca pycryptodome.
    from Cryptodome.Cipher import Serpent
    
    1. Crear un objeto de cifrado Serpent usando la clave para la encriptación.
    key = b'MiClaveSecreta12345'
    cipher = Serpent.new(key, Serpent.MODE_ECB)
    
    1. Cifrar la cadena de imagen usando el objeto de cifrado.
    encrypted_image = cipher.encrypt(image_str)
    
    1. Convertir la cadena de imagen cifrada de nuevo en un ndarray.
    import numpy as np
    encrypted_image_arr = np.frombuffer(encrypted_image, dtype=np.uint8)
    

    Después puedes usar encrypted_image_arr para un procesamiento adicional.

    Nota: Asegúrate de que la clave utilizada para la encriptación sea segura y fuerte.

Comments are closed.