Taula de continguts:
- Pas 1: escriure el fitxer de configuració
- Pas 2: el fitxer de xifratge / desxifratge
- Pas 3: Funcionament dels fitxers
Vídeo: Programari de xifratge / desxifratge de seguretat Python: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
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ó
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
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:
Programa de xifratge Cèsar a Python: 4 passos
Programa Caesar Cipher a Python: El Caesar Cipher és un xifratge antic i molt utilitzat que és fàcil de xifrar i desxifrar. Funciona canviant les lletres de l'alfabet per crear un alfabet completament nou (ABCDEF podria canviar més de 4 lletres i es convertiria en EFGHIJ). Caesar C
Com descarregar programari lliure com a estudiant ISU (Microsoft, Adobe i programari de seguretat: 24 passos)
Com descarregar programari lliure com a estudiant ISU (Microsoft, Adobe i programari de seguretat: per a Adobe: aneu al pas 1. Per a Microsoft: aneu al pas 8. Per a seguretat: aneu al pas 12. Per a Azure: aneu al pas 16
Botó de seguretat sense fils per a seguretat PLC: 6 passos (amb imatges)
Botó de seguretat sense fils per a seguretat de PLC: aquest projecte és la meva prova de concepte per utilitzar IoT i (eventualment) robòtica per crear una capa addicional de seguretat per a instal·lacions de fabricació perilloses. Aquest botó es pot utilitzar per iniciar o aturar diversos processos, inclòs el control del senyal
Sistema de seguretat de seguretat per a dones One Touch: 3 passos
Sistema de seguretat de seguretat femenina One Touch: alarma tàctil Sistema de seguretat femení que utilitza un micro controlador 8051 Al món actual, la seguretat femenina és el problema més important del país. Avui dia les dones són assetjades i preocupades i, de vegades, quan es necessita ajuda urgent. No hi ha cap lloc obligatori
El Securibot: un petit dron de seguretat per a la seguretat domèstica: 7 passos (amb imatges)
El Securibot: un petit dron de seguretat per a la seguretat domèstica: és senzill que els robots són increïbles. No obstant això, els robots de seguretat solen ser massa costosos per a una persona mitjana que poden pagar o són legalment impossibles de comprar; Les empreses privades i els militars tendeixen a mantenir aquests dispositius per a ells mateixos i