Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Archivo de configuración y contraseñas encriptadas
#1
Hola de nuevo

Estoy haciendo un script que se encarga de realizar un backup de archivos en un entorno de red. El proceso de backup lo realiza de forma automática usando el programador de tareas de Windows.

El proceso funciona bien y hace lo que tiene que hacer, pero me gustaría que tuviera cierto grado de personalización en el que el usuario pueda modificar la ruta de los archivos o las contraseñas de acceso, por ejemplo.

Para ello he creado un archivo llamado configuración.ini donde el script guarda/ lee los campos que el usuario ha personalizado.

Me gustaría preguntar ¿Qué forma sería la más adecuada para que la contraseña se guardara encriptada en configuración.ini y pueda ser desencriptada en el script?

La librería que hace lo que busco es "pysecstring" pero la longitud de la contraseña encriptada es muy larga y, al no ponerle sal, entiendo que desencriptarla será relativamente sencillo.

He probado con hashlib pero, hasta donde veo, esto crea un hash. No es una contraseña encriptada y no se puede desencriptar.

Por dejarlo más claro, el uso del script debe ser desatendido para el usuario. El usuario puede definir (la primera vez) en una ventana de configuración (hecha con tkinter) la ruta de acceso de los archivos y las credenciales de acceso.
Esta información (usuario y pass) debe guardarse ofuscada en el archivo configuración.ini y se debe desencriptar cuando el script lo precise.


Por ejemplo, ante el usuario: "Usuario" y contraseña "12345678" debería guardarse algo así:

Código:
Source="C:\Users\USUARIO\Documents\TEST"
Destination="\\192.168.1.12\BACKUP"
User=sAcwBgAHUAaQAdhbduAAwAAABsAB0AcwAJAH3AHISDfgyhjkl55gyujfAYwB5AHEAbhjkl54cABgAHgAfgyhjkl54cABgAHgAcAAxADQ45gyujfAjybnsgrre4hSGJE78i3dsayui
Password=ZQB3AHISDfgyhjkl54cABgAHgAcAAxAGkACgADAAsAcwBgAHUAaQAdhbduikalsAQdQAEAAwAAABsAB0AcwAJAHUAdwB0ACwAFgABAG0ADQ45gyujfAYwB5AHEAbQAMADkAfQAzAA==

¿Alguna idea?

saludos
Responder
#2
Cita:He probado con hashlib pero, hasta donde veo, esto crea un hash. No es una contraseña encriptada y no se puede desencriptar.

Si es una contraseña encryptada. Las contraseñas no se deben desencriptar. 
Lo que tienes que hacer es comparar contraseña encryptada contra contraseña encryptada

Salu2
Responder
#3
(26-01-2024, 04:01 PM)Costero escribió:
Cita:He probado con hashlib pero, hasta donde veo, esto crea un hash. No es una contraseña encriptada y no se puede desencriptar.

Si es una contraseña encryptada. Las contraseñas no se deben desencriptar. 
Lo que tienes que hacer es comparar contraseña encryptada contra contraseña encryptada

Salu2

Hola de nuevo,

Hay situaciones en las que esa comparación no es posible. O creo que no es posible.
Siguiendo con el ejemplo del script, se puede añadir un módulo de correo en el que, en caso de fallo en el backup, se envíe un correo de alerta de forma automática.
Quiero que este programa sea válido para cualquier usuario por lo que, en ese archivo "configuración.ini, deberían estar los datos de configuración de correo: dirección de correo electrónico, usuario y contraseña por lo menos. El resto de datos podrían ir dentro del código.
Imagina que la cuenta de correo es: misuauario@gmail.com y mi contraseña: 12345678.
¿Cómo comparo mi contraseña encriptada con lo que tenga google en su base de datos? No dispongo de esa información.
Tampoco puedo poner la contraseña en texto claro en el archivo de configuración. Cualquiera que revise ese archivo podría obtener mis credenciales.
El script debe recoger los datos del archivo configuración.ini y enviar un correo usando los datos guardados en el archivo configuración.ini.

Espero haberme explicado mejor

Saludos
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)