Sisukord:
Video: Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Selles juhendis näitan teile, kuidas mõne lihtsa Pythoni abil saate oma faile turvaliselt hoida, kasutades tööstusstandardit AES.
Nõuded:
- Python 3.7
- PyAesCrypt raamatukogu
- hashlibi raamatukogu
Kui teil pole neid teeke, saate hõlpsasti installida, tippides:
pip3 installige hashlib
pip3 installige PyAesCrypt
terminalis (või CMD -s)
Need peaksid teil juba olemas olema:
- juhuslik raamatukogu
- os raamatukogu
- süsteemiteek
Ma kasutan OS X -i, kuid see ei tohiks olla liiga oluline, välja arvatud failiteede kaldkriipsude suund (OS X: /, Windows:)
Pange tähele: mõne tõrke tõttu ei kuvata koodi taandeid mingil põhjusel. Järelikult ei ole kuvatavas koodis taandeid, kuid need on olemas Pythoni failides, mille olen lõpus lisanud, ja lisatud piltidel. Lihtsalt ärge võtke koodi otse kuvatud tekstist, sest see ei tööta taanete puudumise tõttu
Kui teil on kõik sõltuvused installitud, liigume edasi 1. sammu juurde.
Samm: seadistusfaili kirjutamine
Üks teguritest, mis selle turvalisuse muudab, on räside kasutamine parooli kontrollimiseks. Seadistusfail (helistan minu aadressile setupsafe.py) läheb:
- Looge parooli jaoks kaust ja näiv failid
- Määrake parool
- Määrake faili number
- Hash parool
Esiteks impordime oma sõltuvused:
sys impordist *
import os
importida juhuslikult
impordi hashlib
Järgmisena loome kausta parooliräsile ja näivatele failidele:
proovige: kui mitte os.path.exists ('desktop/safesetup'):
os.mkdir ('desktop/safesetup/')
välja arvatud OSViga:
print ("Viga kausta loomisel")
See kood loob kausta nimega safesetup (kui see pole juba olemas).
Pärast seda seadistame parooli ja genereerime näivfailides navigeerimiseks juhusliku arvu vahemikus 1 kuni 100:
globaalne paroolparool = argv [1].encode ('utf-8')
n = juhuslik.randint (1, 101)
Nüüd, kui meil on parool ja failinumber, loome turvalises seadistuses 99 näivfaili ja ühe reaalse faili, mis sisaldab meie paroolirässi:
x jaoks vahemikus (101): kui (x! = n):
f = avatud (("desktop/safesetup/"+str (x)), "w+")
f. sulge ()
muidu:
parool = hashlib.sha256 (parool).hexdigest ()
f = avatud (("desktop/safesetup/"+str (x)), "w+")
f.write (parool)
f. sulge ()
trükk (n)
Tegelikku faili nimetatakse ükskõik milliseks täisarvuks n. See fail sisaldab meie parooli pärast sha256 algoritmiga räsimist (seda räsialgoritmi kasutatakse laialdaselt krüptovaluutades, eriti Bitcoinis).
Pidage meeles, mis on n (see trükitakse konsooli), kuna see on sama oluline kui parool.
See on kõik, mida vajame oma seadistusprogrammi jaoks, nii et liigume nüüd krüptimis-/dekrüpteerimisprogrammi juurde.
Samm: krüptimis-/dekrüpteerimisfail
Põhifaili seadistusjaotis impordib sõltuvused, räsib sisestatud parooli ja otsib sisestatud failinumbri abil välja tegeliku parooli räsi.
Esiteks sõltuvused:
alates sys import *import os
import pyAesCrypt
impordi hashlib
Järgmisena sisestatud parooli räsimine:
parool = argv [1].encode ('utf-8') parool = hashlib.sha256 (parool).hexdigest ()
Lõpuks räsitud parooli otsimine:
file_key = str (argv [2]) hash = open (("" desktop/safesetup/" + file_key), (" r + ")). loe ()
Krüpteerimisfaili teises jaotises võrreldakse räsi, määratakse võrdluse tõesus ja kasutatakse valitud faili krüptimiseks või dekrüpteerimiseks AESCrypt pythoni teeki. See on üsna suur kooditükk, kuid ma jagan selle lahti:
if (parool == räsi): print ("Parool aktsepteeritud")
bufferSize = 64 * 1024
operatsioon = str (input ("Kas otsite või krüptite faile? (r või e)"))
kui (operatsioon == 'r'):
faili_nimi = str (sisend ("Allalaaditav fail:"))
pyAesCrypt.decryptFile ((faili_nimi + ".aes"), faili_nimi, parool, bufferSize)
os.remove ((failinimi + ".aes"))
elif (operatsioon == 'e'):
faili_nimi = str (sisend ("Krüpteeritav fail:"))
pyAesCrypt.encryptFile (faili_nimi, (failinimi + ".aes"), parool, bufferSize)
os.remove (faili_nimi)
muidu:
print ("Viga: vale sisend")
muidu:
print ("Juurdepääs keelatud")
Esimene if -lause määrab, kas räsitud paroolid sobivad. Kui nad seda teevad, küsib ta edasi, kas soovite faile krüptida või krüpteeritud faile alla laadida. Sõltuvalt teie sisendist krüpteerib või dekrüpteerib pakutud fail. Kui teil palutakse faili nimi anda, määrake kindlasti tee, kui fail ei ole python -programmiga samas kataloogis. Programm kustutab faili oma eelmises olekus, asendades selle krüptitud.aes -failiga või dekrüpteerides ja asendades selle algse failiga.
Tulevikus võin seda värskendada, et lisada näotuvastus Python OpenCV raamatukogu abil, kuid praegu piisab paroolidest.
3. samm: failide kasutamine
Seadistusfaili käivitamiseks toimige järgmiselt.
1. Sisestage terminal:
python3 kataloogi/setupname.py parool (kataloogi, häälestusnime ja parooli asendamine vastavate väärtustega)
2. Terminal väljastab teie failinumbri. Hoia seda.
Krüpteerimis-/dekrüpteerimisprogrammi käivitamiseks toimige järgmiselt.
1. Sisestage terminal:
python3 kataloog/failinimi.py paroolifaili number (kataloogi, failinime, parooli ja failinumbri asendamine vastavate väärtustega)
2. Seejärel võtab terminal teie parooli vastu või lükkab selle tagasi. Kui lükatakse tagasi, proovige uuesti ja veenduge, et sisestate õiged väärtused. Kui juurdepääs on antud, küsib terminal, kas soovite faili krüptida või faili alla laadida. Faili krüptimiseks tippige e ja krüpteeritud faili allalaadimiseks tippige r.
3. Seejärel palutakse teil sisestada faili nimi. Ärge unustage sisestada faili kataloogi, nime ja ka faililaiendit. Kui aga krüpteerite faili, ärge tippige laiendi.aes osa, kuna kood seda kajastab.
4. Seejärel krüpteerib programm või dekrüpteerib pakutud faili ja kustutab faili eelmises olekus (säilitades krüptitud või dekrüpteeritud faili).
Voila! Täname, et jõudsite juhendamisse nii kaugele, tean, et koodiõpetuste lugemine pole kõige lõbusam asi. Python -failid on selles etapis lisatud neile, kes soovivad seda proovida. Tänan teid veel kord lugemise eest ja soovin teile edu edaspidistes kodeerimistegevustes.
Soovitan:
Kuidas luua oma esimene lihtne tarkvara Pythoni abil: 6 sammu
Kuidas teha oma esimest lihtsat tarkvara Pythoni abil: Tere, tere tulemast sellesse juhendisse. Siin räägin teile, kuidas oma tarkvara teha. Jah, kui teil on idee … aga teate, mida rakendada või olete huvitatud uute asjade loomisest, siis on see teie jaoks …… Eeltingimus: peaks olema põhiteadmised P
Isetegija ukseandur turvalisuse tagamiseks, kasutades ESP8266: 3 sammu
Isetegija ukseandur turvalisuse tagamiseks ESP8266 abil: turvake oma kodu nutika ukseanduriga, kasutades täielikult avatud lähtekoodiga tehnoloogiaid. Selles videos valmistame seadme, mis tuvastab, kas uks on avatud või suletud, ning tunneb teavet nutitelefoni kasutades BLYNK server, w
Juhtmevaba turvanupp PLC turvalisuse tagamiseks: 6 sammu (piltidega)
Juhtmevaba turvanupp PLC ohutuse jaoks: see projekt on minu tõestus asjade Interneti ja (lõpuks) robootika kasutamise kontseptsioonist, et luua ohtlike tootmisrajatiste jaoks täiendav ohutuskiht. Seda nuppu saab kasutada mitme protsessi käivitamiseks või peatamiseks, sealhulgas signaali juhtimiseks
Liikumise turvalisuse alarm koos PIR -iga: 4 sammu (piltidega)
Liikumisturvehäire koos PIR -iga: kas olete kunagi tahtnud ehitada projekti, mis oleks suutnud tuvastada ruumis oleva inimese olemasolu? Kui jah, siis saate seda PIR (passiivse infrapunase) liikumisanduri abil väga hõlpsalt teha. See liikumisandur suudab tuvastada inimese viibimise ruumis
Securibot: väike Survelliance droon kodu turvalisuse tagamiseks: 7 sammu (koos piltidega)
Securibot: väike Survelliance droon koduturbe jaoks: See on lihtne fakt, et robotid on vinged. Turvarobotid kipuvad aga tavainimese jaoks liiga kallid olema või neid on juriidiliselt võimatu osta; Eraettevõtted ja sõjavägi kipuvad selliseid seadmeid endale hoidma ja