11from pitea .imagen .OcultadorImagen import OcultadorImagen
2-
2+ from constantes import constantes
33
44
55class OcultadorImagenLSB (OcultadorImagen ):
@@ -64,7 +64,7 @@ def _ocultar(self, datos, altura_imagen=None, anchura_imagen=None):
6464
6565
6666 # Añadir una cabecera con el tamaño de los datos (32 bits)
67- tamano_datos_binarios = format (len (datos_binarios ), "032b " )
67+ tamano_datos_binarios = format (len (datos_binarios ), "0" + str ( constantes . _TAMAÑO_CABECERA_LSB ) + "b " )
6868
6969 # Cabecera + Datos
7070 mensaje = tamano_datos_binarios + datos_binarios
@@ -124,11 +124,11 @@ def _desocultar(self):
124124 datos_binarios += str (
125125 pixel [canal ] & 1
126126 ) # Extraer el bit menos significativo
127- if len (datos_binarios ) >= 32 :
127+ if len (datos_binarios ) >= constantes . _TAMAÑO_CABECERA_LSB :
128128 tamano_datos = int (
129- datos_binarios [:32 ], 2
129+ datos_binarios [:constantes . _TAMAÑO_CABECERA_LSB ], 2
130130 ) # Leer el tamaño de los datos
131- datos_binarios = datos_binarios [32 :] # Eliminar la cabecera
131+ datos_binarios = datos_binarios [constantes . _TAMAÑO_CABECERA_LSB :] # Eliminar la cabecera
132132
133133 # Si el tamaño de los datos es mayor que 0, seguimos extrayendo los datos
134134 if tamano_datos > 0 :
@@ -141,21 +141,21 @@ def _desocultar(self):
141141 if tamano_datos == 0 :
142142 raise ValueError ("No se pudo extraer el tamaño de los datos ocultos." )
143143
144- while len (datos_binarios ) < tamano_datos + 32 :
144+ while len (datos_binarios ) < tamano_datos + constantes . _TAMAÑO_CABECERA_LSB :
145145 for y in range (alto ):
146146 for x in range (ancho ):
147147 pixel = list (pixeles [x , y ])
148148 for canal in range (3 ):
149149 datos_binarios += str (pixel [canal ] & 1 )
150- if len (datos_binarios ) >= tamano_datos + 32 :
150+ if len (datos_binarios ) >= tamano_datos + constantes . _TAMAÑO_CABECERA_LSB :
151151 break
152- if len (datos_binarios ) >= tamano_datos + 32 :
152+ if len (datos_binarios ) >= tamano_datos + constantes . _TAMAÑO_CABECERA_LSB :
153153 break
154- if len (datos_binarios ) >= tamano_datos + 32 :
154+ if len (datos_binarios ) >= tamano_datos + constantes . _TAMAÑO_CABECERA_LSB :
155155 break
156156
157157 # Convertir los datos binarios en bytes
158- datos_binarios = datos_binarios [32 :] # Eliminar la cabecera
158+ datos_binarios = datos_binarios [constantes . _TAMAÑO_CABECERA_LSB :] # Eliminar la cabecera
159159 datos_extraidos = int (datos_binarios , 2 ).to_bytes (
160160 tamano_datos // 8 , byteorder = "big"
161161 )
0 commit comments