Encriptar contraseña en fichero y usarla como variable en script Python

Listar ficheros de video y obtener resolución, útiles DASH mpd
30 de marzo de 2024
Reconocimiento facial con cv2 y face_recognition
25 de junio de 2024
Listar ficheros de video y obtener resolución, útiles DASH mpd
30 de marzo de 2024
Reconocimiento facial con cv2 y face_recognition
25 de junio de 2024

Implementación genérica.

1.- Generamos un archivo con llave, que será la que utilizaremos para encriptar nuestro archivo con el dato a proteger (password).

from cryptography.fernet import Fernet

# key generation
key = Fernet.generate_key()
 
# string the key in a file
with open('filekey.key', 'wb') as filekey:
   filekey.write(key)

2.- Encriptamos el archivo ejemplo nba.csv (podéis utilizar cualquier archivo con cualquier dato en texto plano, csv, etc) deseado utilizando la llave almacenada en nuestro archivo filekey.key

from cryptography.fernet import Fernet

# opening the key
with open('filekey.key', 'rb') as filekey:
    key = filekey.read()
 
# using the generated key
fernet = Fernet(key)
 
# opening the original file to encrypt
with open('nba.csv', 'rb') as file:
    original = file.read()
     
# encrypting the file
encrypted = fernet.encrypt(original)
 
# opening the file in write mode and 
# writing the encrypted data
with open('nba.csv', 'wb') as encrypted_file:
    encrypted_file.write(encrypted)

3.- Proceso para desencriptar el archivo previamente encriptado.

from cryptography.fernet import Fernet

# using the key
fernet = Fernet(key)
 
# opening the encrypted file
with open('nba.csv', 'rb') as enc_file:
    encrypted = enc_file.read()
 
# decrypting the file
decrypted = fernet.decrypt(encrypted) #Ahora el contenido descifrado se encuentra en esta variable
 
# opening the file in write mode and writing the decrypted data
with open('nba.csv', 'wb') as dec_file:
    dec_file.write(decrypted)

Implementación dentro de un script Python, leeyendo un fichero con password encriptada para usarla como variable

Declaramos la función dentro del script

def read_pass():
  from cryptography.fernet import Fernet

  #Abrimos el fichero llave y la cargamos en la variable key
  with open('filekey.key', 'rb') as filekey:
      key = filekey.read()

  fernet = Fernet(key)
 
  #Abrimos y leemos nuestro archivo encriptado
  with open('pass_file', 'rb') as enc_file:
      encrypted = enc_file.read()

  #Ahora el contenido descifrado se encuentra en esta variable
  my_decrypt_pass = fernet.decrypt(encrypted)

  #La función devuelve la contraseña desencriptada
  return my_decrypt_pass

#Almacenamos la contraseña en la variable my_pass y la utilizamos dentro del script
my_pass = read_pass()

Artículo fuente original:

https://www.geeksforgeeks.org/encrypt-and-decrypt-files-using-python/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Encriptar contraseña en fichero y usarla como  variable en script Python
Este sitio web utiliza cookies para mejorar su experiencia. Al utilizar este sitio web, usted acepta nuestra Política de privacidad.
Leer más