Sisukord:

Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara: 3 sammu
Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara: 3 sammu

Video: Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara: 3 sammu

Video: Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara: 3 sammu
Video: Networking with Python! Basic Operating System (OS) Navigation 2024, November
Anonim
Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara
Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara
Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara
Pythoni turvalisuse krüptimise/dekrüpteerimise tarkvara

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

Seadistusfaili kirjutamine
Seadistusfaili kirjutamine
Seadistusfaili kirjutamine
Seadistusfaili kirjutamine
Seadistusfaili kirjutamine
Seadistusfaili kirjutamine
Seadistusfaili kirjutamine
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

Krüpteerimis-/dekrüpteerimisfail
Krüpteerimis-/dekrüpteerimisfail
Krüpteerimis-/dekrüpteerimisfail
Krüpteerimis-/dekrüpteerimisfail
Krüpteerimis-/dekrüpteerimisfail
Krüpteerimis-/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: