Përmbajtje:

Softueri i Kriptimit/Dekriptimit të Sigurisë Python: 3 hapa
Softueri i Kriptimit/Dekriptimit të Sigurisë Python: 3 hapa

Video: Softueri i Kriptimit/Dekriptimit të Sigurisë Python: 3 hapa

Video: Softueri i Kriptimit/Dekriptimit të Sigurisë Python: 3 hapa
Video: Aksesimi i versioneve të dokumentit 2024, Nëntor
Anonim
Softueri i Kriptimit/Dekriptimit të Sigurisë Python
Softueri i Kriptimit/Dekriptimit të Sigurisë Python
Softueri i Kriptimit/Dekriptimit të Sigurisë Python
Softueri i Kriptimit/Dekriptimit të Sigurisë Python

Në këtë Instructable unë do t'ju tregoj se si me disa Python të thjeshtë, ju mund t'i mbani skedarët tuaj të sigurt duke përdorur standardin AES të industrisë.

Kërkesat:

- Python 3.7

- Biblioteka PyAesCrypt

- biblioteka hashlib

Nëse nuk i keni këto biblioteka, mund t'i instaloni me lehtësi duke shtypur:

pip3 instaloni hashlib

pip3 instaloni PyAesCrypt

në terminal (ose CMD)

Ju tashmë duhet t'i keni këto:

- bibliotekë e rastësishme

- biblioteka os

- biblioteka e sistemit

Unë jam duke përdorur OS X, por nuk duhet të ketë shumë rëndësi, përveç drejtimit të pjerrësisë në shtigjet e skedarëve (OS X: /, Windows: )

Ju lutemi vini re: Për shkak të një defekti, dhëmbëzimet në kod nuk shfaqen për ndonjë arsye. Rrjedhimisht nuk do të ketë dhëmbëzime në kodin e shfaqur, megjithatë ato janë të pranishme në skedarët Python që kam bashkangjitur në fund, dhe në fotografitë e bashkangjitura. Thjesht mos e merrni kodin direkt nga teksti i shfaqur, sepse nuk do të funksionojë për shkak të mungesës së dhëmbëzimeve

Nëse i keni të gjitha varësitë e instaluara, le të kalojmë në hapin 1.

Hapi 1: Shkrimi i skedarit të konfigurimit

Shkrimi i skedarit të konfigurimit
Shkrimi i skedarit të konfigurimit
Shkrimi i skedarit të konfigurimit
Shkrimi i skedarit të konfigurimit
Shkrimi i skedarit të konfigurimit
Shkrimi i skedarit të konfigurimit
Shkrimi i skedarit të konfigurimit
Shkrimi i skedarit të konfigurimit

Një nga faktorët që e bën këtë kaq të sigurt është përdorimi i hashes për të kontrolluar fjalëkalimin. Skedari i konfigurimit (po e quaj setupsafe.py im) do të:

- Krijoni një dosje dhe skedarë falsifikues për fjalëkalimin

- Vendosni fjalëkalimin

- Vendosni numrin e skedarit

- Hash fjalëkalimin

Së pari, ne do të importojmë varësitë tona:

nga importi i sys *

importo os

importo rastësisht

importo hashlib

Tjetra ne do të krijojmë një dosje për të vendosur hash -in e fjalëkalimit dhe skedarët fals:

provo: nëse jo os.path.exists ('desktop/safesetup'):

os.mkdir ('desktop/safesetup/')

përveç OSError:

print ("Gabim në krijimin e dosjes")

Ky kod do të krijojë një dosje të quajtur safesetup (nëse nuk ekziston tashmë).

Pas kësaj, ne do të vendosim fjalëkalimin dhe do të gjenerojmë një numër të rastësishëm midis 1 dhe 100 si mënyra jonë për të lundruar në skedarët fals:

fjalëkalim global fjalëkalim = argv [1].kodim ('utf-8')

n = i rastësishëm. emri (1, 101)

Tani që kemi fjalëkalimin tonë dhe numrin tonë të skedarit, do të krijojmë 99 skedarë falsifikues brenda safesetup, dhe një skedar të vërtetë që do të përmbajë hash -in e fjalëkalimit tonë:

për x në rangun (101): nëse (x! = n):

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

f. mbyll ()

tjeter:

fjalëkalim = hashlib.sha256 (fjalëkalim).hexdigest ()

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

f.shkruani (fjalëkalimin)

f. mbyll ()

print (n)

Skedari i vërtetë quhet çfarëdo numri i plotë n. Ky skedar përmban fjalëkalimin tonë, pasi është hash duke përdorur algoritmin sha256 (ky algoritëm hash përdoret gjerësisht në kriptovaluta, më së shumti Bitcoin).

Mos harroni se çfarë është n (do të printohet në tastierë), pasi është po aq e rëndësishme sa fjalëkalimi.

Kjo është gjithçka që na nevojitet për programin tonë të konfigurimit, kështu që tani do të kalojmë në programin e kriptimit/deshifrimit.

Hapi 2: Skedari i Kriptimit/deshifrimit

Skedari i Kriptimit/deshifrimit
Skedari i Kriptimit/deshifrimit
Skedari i Kriptimit/deshifrimit
Skedari i Kriptimit/deshifrimit
Skedari i Kriptimit/deshifrimit
Skedari i Kriptimit/deshifrimit

Seksioni i konfigurimit të skedarit kryesor importon varësitë, fshin fjalëkalimin e futur dhe merr hashun e fjalëkalimit të vërtetë duke përdorur numrin e skedarit të futur.

Së pari, varësitë:

nga sys import *import os

import pyAesCrypt

importo hashlib

Tjetra, hashja e fjalëkalimit të futur:

fjalëkalim = argv [1].kodim ('utf-8') fjalëkalim = hashlib.sha256 (fjalëkalim).hexdigest ()

Më në fund, marrja e fjalëkalimit të hash:

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

Seksioni i dytë i skedarit të kriptimit krahason hashet, përcakton vërtetësinë e krahasimit dhe përdor bibliotekën python AESCrypt për të kriptuar ose deshifruar skedarin tuaj të zgjedhur. Ky është një pjesë mjaft e madhe e kodit, por unë do ta ndaj atë:

nëse (fjalëkalimi == hash): print ("Fjalëkalimi u pranua")

tamponSize = 64 * 1024

operacion = str (hyrje ("A po merrni ose kodoni skedarë? (r ose e)"))

nëse (operacioni == 'r'):

emri i skedarit = str (hyrja ("Skedari për të marrë:"))

pyAesCrypt.decryptFile ((emri i skedarit + ".aes"), emri i skedarit, fjalëkalimi, tamponSize)

os. hiqni ((emri i skedarit + ".aes"))

elif (operacioni == 'e'):

emri i skedarit = str (hyrja ("Skedari për të koduar:"))

pyAesCrypt.encryptFile (emri i skedarit, (emri i skedarit + ".aes"), fjalëkalimi, tamponSize)

os. heq (emri i skedarit)

tjeter:

print ("Gabim: Hyrje e pasaktë")

tjeter:

print ("Qasja u refuzua")

Deklarata e parë if përcakton nëse fjalëkalimet e hashuara përputhen. Nëse ata e bëjnë, atëherë vazhdon të pyesë nëse doni të kodoni skedarë ose të merrni skedarë të koduar. Në varësi të të dhënave tuaja, ai ose do të kriptojë ose deshifrojë skedarin e dhënë. Kur ju kërkohet të jepni emrin e skedarit, sigurohuni që të specifikoni shtegun nëse skedari nuk është në të njëjtën drejtori me programin python. Programi fshin skedarin në gjendjen e tij të mëparshme, duke e zëvendësuar atë me një skedar.aes të koduar, ose duke e deshifruar dhe zëvendësuar me skedarin origjinal.

Në të ardhmen, unë mund ta përditësoj këtë për të përfshirë njohjen e fytyrës duke përdorur bibliotekën Python OpenCV, por tani për tani fjalëkalimet do të mjaftojnë.

Hapi 3: Funksionimi i skedarëve

Për të ekzekutuar skedarin e konfigurimit, ndiqni këto hapa:

1. Shkruani terminalin:

python3 directory/setupname.py fjalëkalim (duke zëvendësuar drejtorinë, emrin e konfigurimit dhe fjalëkalimin me vlerat e tyre përkatëse)

2. Terminali do të nxjerrë numrin e skedarit tuaj. Mbaje këtë.

Për të ekzekutuar programin e kriptimit/deshifrimit, ndiqni këto hapa:

1. Shkruani në terminal:

python3 directory/filename.py fjalëkalimi filenumber (duke zëvendësuar drejtorinë, emrin e skedarit, fjalëkalimin dhe numrin e skedarit me vlerat e tyre përkatëse)

2. Terminali ose do të pranojë ose refuzojë fjalëkalimin tuaj. Nëse refuzohet, provoni përsëri dhe sigurohuni që të shkruani vlerat e duhura. Pasi të jetë dhënë qasja, terminali do t'ju pyesë nëse doni të kriptoni një skedar ose të merrni një skedar. Për të koduar një skedar, shkruani e dhe për të marrë një skedar të koduar, shkruani r.

3. Pastaj do t'ju kërkohet të jepni emrin e skedarit. Mos harroni të siguroni drejtorinë e skedarit, si dhe emrin, si dhe shtesën e skedarit. Sidoqoftë, nëse po deshifroni një skedar, mos e shkruani pjesën.aes të shtesës, pasi kodi llogaritet për këtë.

4. Programi më pas kripton ose deshifron skedarin e ofruar dhe fshin skedarin në gjendjen e tij të mëparshme (duke ruajtur skedarin e koduar ose të deshifruar).

Voila! Faleminderit që e bëtë këtë gjë aq të mësueshme, e di që leximi i mësimeve të kodit nuk është gjëja më zbavitëse. Skedarët python janë të mbyllur në këtë hap, për ata prej jush që duan ta japin këtë mundësi. Edhe një herë, faleminderit për leximin, dhe ju uroj fat të mirë në përpjekjet tuaja të ardhshme të kodimit.

Recommended: