Përmbajtje:
- Hapi 1: Shkrimi i skedarit të konfigurimit
- Hapi 2: Skedari i Kriptimit/deshifrimit
- Hapi 3: Funksionimi i skedarëve
Video: Softueri i Kriptimit/Dekriptimit të Sigurisë Python: 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
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
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
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:
Softueri i Simulimit të Kubit LED: 5 hapa
Softueri i Simulimit të Kubit LED: Unë pothuajse mbarova së ndërtuari kubin tim LED 8x8x8 dhe me të erdhi ky program për PC! Ju ndihmon të krijoni animacione dhe i simulon ato në një ekran 2D para se të ngarkohen në atë 3D. Nuk ka mbështetje (ende) për komunikimin përmes
Instalimi i Windows në MacBook (Softueri Apple): 8 hapa
Instalimi i Windows në MacBook (Apple Software): Një nga përfitimet e zotërimit të një MacBook është se ju jep një zgjedhje ose të drejtoni Mac OS ose Windows (nëse është i instaluar). Kjo i lejon përdoruesit të ekzekutojë aplikacione ose lojëra të caktuara që janë vetëm me sistemin operativ Windows. Ky udhëzues udhëzues do të
Një radio e përcaktuar nga softueri në një rrip këpucësh: 9 hapa (me fotografi)
Një Radio e Përcaktuar nga Softueri në një Rrip Shoest: Në fillim ishte grupi kristal - marrësi i parë praktik i radios i transmetimit. Por kishte nevojë për një ajër të gjatë dhe mund të merrte vetëm stacione lokale. Kur dolën valvulat (tubat, për miqtë tanë amerikanë) ata bënë të mundur ndërtimin e shumë më shumë
Zgjatje për çfarëdo softueri DJ që dëshironi!: 6 hapa
Zgjatje për çfarëdo softueri DJ që dëshironi!: Jo të gjithë mund të hyjnë vetëm në ditën e parë të DJ -së dhe të pritet që të kenë të gjithë mikserët dhe pjatat rrotulluese dhe sugjerimet e nxehta gati në ditën e parë, por le të jemi të vërtetë këtu: përzierja në një laptop është e keqe. Kjo është ajo për të cilën është, për të zgjidhur të gjitha shqetësimet tuaja financiare në lidhje me
Sistemi i Sigurisë së Sigurisë së Grave me një Prekje: 3 Hapa
Sistemi i Sigurisë së Sigurisë së Grave me një Prekje: Alarm me një prekje Sistemi i sigurisë së Grave duke përdorur mikrokontrollues 8051Në botën e sotme Siguria e Grave është Çështja më e Rëndësishme në Vetë Vend. Sot gratë ngacmohen dhe shqetësohen dhe ndonjëherë kur nevojitet ndihmë urgjente. Nuk ka lokacion të kërkuar