Taula de continguts:

Programari de xifratge / desxifratge de seguretat Python: 3 passos
Programari de xifratge / desxifratge de seguretat Python: 3 passos

Vídeo: Programari de xifratge / desxifratge de seguretat Python: 3 passos

Vídeo: Programari de xifratge / desxifratge de seguretat Python: 3 passos
Vídeo: Aprende a Encriptar Contraseñas con SHA256 en Python | Guía Paso a Paso de Seguridad Informática 2024, Desembre
Anonim
Programari de xifratge / desxifratge de seguretat Python
Programari de xifratge / desxifratge de seguretat Python
Programari de xifratge / desxifratge de seguretat Python
Programari de xifratge / desxifratge de seguretat Python

En aquest instructiu us mostraré com, amb alguns Python senzills, podeu mantenir segurs els vostres fitxers mitjançant AES estàndard de la indústria.

Requisits:

- Python 3.7

- Biblioteca PyAesCrypt

- biblioteca hashlib

Si no teniu aquestes biblioteques, podeu instal·lar-les fàcilment escrivint:

pip3 instal·lar hashlib

pip3 instal·la PyAesCrypt

al terminal (o CMD)

Ja hauríeu de tenir aquests:

- biblioteca aleatòria

- biblioteca os

- biblioteca del sistema

Estic fent servir OS X, però no hauria d’importar massa, llevat de la direcció de les barres incloses als camins del fitxer (OS X: /, Windows:)

Tingueu en compte que, a causa d’alguns problemes, les sagnies del codi no es mostren per alguna raó. En conseqüència, no hi haurà sagnats al codi mostrat, tot i que estan presents als fitxers Python que he adjuntat al final i a les imatges adjuntes. No prengueu el codi directament del text que es mostra, perquè no funcionarà a causa de la manca de sagnats

Si teniu totes les dependències instal·lades, anem al pas 1.

Pas 1: escriure el fitxer de configuració

Escriptura del fitxer de configuració
Escriptura del fitxer de configuració
Escriptura del fitxer de configuració
Escriptura del fitxer de configuració
Escriptura del fitxer de configuració
Escriptura del fitxer de configuració
Escriptura del fitxer de configuració
Escriptura del fitxer de configuració

Un dels factors que ho fa tan segur és l’ús de hash per comprovar la contrasenya. El fitxer de configuració (estic trucant al meu setupsafe.py) serà:

- Creeu una carpeta i fitxers ficticis per a la contrasenya

- Establiu la contrasenya

- Definiu el número de fitxer

- Hash la contrasenya

En primer lloc, importarem les nostres dependències:

des de la importació de sistemes *

import os

importació aleatòria

importació de hashlib

A continuació, crearem una carpeta per allotjar el hash de contrasenya i els fitxers ficticis:

prova: si no os.path.exists ('desktop / safesetup'):

os.mkdir ('desktop / safesetup /')

excepte OSError:

print ("Error en crear la carpeta")

Aquest codi crearà una carpeta anomenada safesetup (tret que ja existeixi).

Després d'això, establirem la contrasenya i generarem un número aleatori entre 1 i 100 com a forma de navegar pels fitxers ficticis:

global passwordpassword = argv [1].encode ('utf-8')

n = random.randint (1, 101)

Ara que tenim la nostra contrasenya i el nostre número de fitxer, crearem 99 fitxers falsos dins de safesetup i un fitxer real que contindrà el nostre hash de contrasenya:

per a x en l'interval (101): si (x! = n):

f = open (("desktop / safesetup /" + str (x)), "w +")

f.close ()

en cas contrari:

password = hashlib.sha256 (password).hexdigest ()

f = open (("desktop / safesetup /" + str (x)), "w +")

f.write (contrasenya)

f.close ()

imprimir (n)

El fitxer real s’anomena qualsevol nombre enter n. Aquest fitxer conté la nostra contrasenya, després d’haver estat resumit mitjançant l’algorisme sha256 (aquest algoritme hash s’utilitza àmpliament en criptomonedes, sobretot Bitcoin).

Recordeu què és n (s’imprimirà a la consola), ja que és tan important com la contrasenya.

Això és tot el que necessitem per al nostre programa de configuració, de manera que ara passarem al programa de xifratge / desxifratge.

Pas 2: el fitxer de xifratge / desxifratge

El fitxer de xifratge / desxifratge
El fitxer de xifratge / desxifratge
El fitxer de xifratge / desxifratge
El fitxer de xifratge / desxifratge
El fitxer de xifratge / desxifratge
El fitxer de xifratge / desxifratge

La secció de configuració del fitxer principal importa les dependències, comparteix la contrasenya introduïda i recupera el hash de la contrasenya real mitjançant el número de fitxer introduït.

En primer lloc, les dependències:

des de sys import * import os

importa pyAesCrypt

importació de hashlib

A continuació, el resum de la contrasenya introduïda:

password = argv [1].encode ('utf-8') password = hashlib.sha256 (contrasenya).hexdigest ()

Finalment, la recuperació de la contrasenya resumida:

file_key = str (argv [2]) hash = open (("desktop / safesetup /" + file_key), ("r +")). read ()

La segona secció del fitxer de xifratge compara els hash, determina la veritat de la comparació i utilitza la biblioteca python AESCrypt per xifrar o desxifrar el fitxer que trieu. Aquest és un tros de codi força gran, però el desglossaré:

if (contrasenya == hash): print ("Contrasenya acceptada")

bufferSize = 64 * 1024

operation = str (input ("Esteu recuperant o xifrant fitxers? (r o e)"))

if (operació == 'r'):

file_name = str (input ("Fitxer per recuperar:"))

pyAesCrypt.decryptFile ((nom_fitxer + ".aes"), nom_fitxer, contrasenya, mida de memòria intermèdia)

os.remove ((nom_fitxer + ".aes"))

elif (operació == 'e'):

file_name = str (input ("Fitxer per xifrar:"))

pyAesCrypt.encryptFile (nom_arxiu, (nom_arxiu + ".aes"), contrasenya, mida de memòria intermèdia)

os.remove (nom_fitxer)

en cas contrari:

print ("Error: entrada incorrecta")

en cas contrari:

imprimir ("Accés denegat")

La primera sentència if determina si coincideixen les contrasenyes hash. Si ho fan, es pregunta si voleu xifrar fitxers o recuperar fitxers xifrats. Depenent de la vostra entrada, xifrarà o desxifrarà el fitxer proporcionat. Quan se us demani que doneu el nom del fitxer, assegureu-vos d'especificar el camí a menys que el fitxer es trobi al mateix directori que el programa python. El programa elimina el fitxer en el seu estat anterior, substituint-lo per un fitxer.aes xifrat, o desxifrant-lo i substituint-lo pel fitxer original.

En el futur, podria actualitzar-ho per incloure el reconeixement facial mitjançant la biblioteca Python OpenCV, però ara per ara les contrasenyes hauran de ser suficients.

Pas 3: Funcionament dels fitxers

Per executar el fitxer de configuració, seguiu aquests passos:

1. Escriviu el terminal:

directori python3 / setupname.py contrasenya (substituint directori, setupname i contrasenya pels seus valors respectius)

2. El terminal emetrà el vostre número de fitxer. Conserva això.

Per executar el programa de xifratge / desxifratge, seguiu aquests passos:

1. Escriviu el terminal:

directori python3 / filename.py número de fitxer de contrasenya (substituint directori, nom de fitxer, contrasenya i número de fitxer pels seus valors respectius)

2. El terminal acceptarà o rebutjarà la vostra contrasenya. Si es rebutja, torneu-ho a provar i assegureu-vos que escriviu els valors adequats. Un cop s'hagi concedit l'accés, el terminal us preguntarà si voleu xifrar un fitxer o recuperar-ne un. Per xifrar un fitxer, escriviu e i per recuperar un fitxer xifrat, escriviu r.

3. A continuació, se us demanarà que proporcioneu el nom del fitxer. Recordeu proporcionar el directori del fitxer, el nom i l'extensió del fitxer. Tot i això, si esteu desxifrant un fitxer, no escriviu la part.aes de l'extensió, ja que el codi ho explica.

4. El programa xifra o desxifra el fitxer proporcionat i suprimeix el fitxer en el seu estat anterior (conservant el fitxer xifrat o desxifrat).

Voila! Gràcies per arribar a allò tan instructiu, sé que llegir tutorials de codi no és el més divertit. Els fitxers Python s'inclouen en aquest pas, per a aquells de vosaltres que vulgueu provar-ho. Una vegada més, gràcies per llegir i us desitjo molta sort en els vostres futurs esforços de codificació.

Recomanat: