Obsah:
Video: Softvér na šifrovanie/dešifrovanie zabezpečenia Python: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
V tomto návode vám ukážem, ako s niektorým jednoduchým jazykom Python môžete zaistiť bezpečnosť svojich súborov pomocou priemyselného štandardu AES.
Požiadavky:
- Python 3.7
- Knižnica PyAesCrypt
- knižnica hashlib
Ak tieto knižnice nemáte, môžete ich ľahko nainštalovať zadaním:
pip3 nainštalujte hashlib
pip3 nainštalujte PyAesCrypt
v termináli (alebo CMD)
Mali by ste už mať tieto:
- náhodná knižnica
- knižnica os
- systémová knižnica
Používam OS X, ale nemalo by na tom príliš záležať, okrem smeru lomiek v cestách k súborom (OS X: /, Windows: )
Poznámka: Z dôvodu nejakej chyby sa zárezy v kóde z nejakého dôvodu nezobrazujú. V dôsledku toho nebudú v zobrazenom kóde žiadne zárezy, sú však prítomné v súboroch Pythonu, ktoré som pripojil na konci, a na priložených obrázkoch. Jednoducho neberte kód priamo zo zobrazeného textu, pretože nebude fungovať kvôli nedostatku odsadení
Ak máte nainštalované všetky závislosti, prejdite na krok 1.
Krok 1: Zapísanie inštalačného súboru
Jedným z faktorov, ktoré to robia tak bezpečným, je použitie hodnoty hash na kontrolu hesla. Inštalačný súbor (volám môj setupsafe.py) bude:
- Vytvorte priečinok a fiktívne súbory pre heslo
- Nastavte heslo
- Nastavte číslo súboru
- Zaškrtnite heslo
Najprv budeme importovať naše závislé osoby:
zo sys importu *
import os
import náhodný
importovať hashlib
Ďalej vytvoríme priečinok, v ktorom sa bude nachádzať hash hesiel a fiktívne súbory:
skúste: ak nie os.path.exists ('desktop/safesetup'):
os.mkdir ('desktop/safesetup/')
okrem OSError:
vytlačiť („Chyba pri vytváraní priečinka“)
Tento kód vytvorí priečinok s názvom safesetup (ak už neexistuje).
Potom nastavíme heslo a vygenerujeme náhodné číslo od 1 do 100, ktoré bude slúžiť na navigáciu vo fiktívnych súboroch:
globálne heslopassword = argv [1].encode ('utf-8')
n = random.randint (1, 101)
Teraz, keď máme heslo a číslo súboru, vytvoríme v safesetup 99 falošných súborov a jeden skutočný súbor, ktorý bude obsahovať hash hesla:
pre x v rozsahu (101): ak (x! = n):
f = otvorené (("desktop/safesetup/"+str (x)), "w+")
f.close ()
inak:
heslo = hashlib.sha256 (heslo).hexdigest ()
f = otvorené (("desktop/safesetup/"+str (x)), "w+")
f.write (heslo)
f.close ()
tlač (n)
Skutočný súbor sa nazýva akékoľvek celé číslo n. Tento súbor obsahuje naše heslo po hašovaní pomocou algoritmu sha256 (tento hashovací algoritmus sa široko používa v kryptomenách, predovšetkým v bitcoine).
Pamätajte si, čo je n (vytlačí sa v konzole), pretože je rovnako dôležité ako heslo.
To je všetko, čo potrebujeme pre náš inštalačný program, takže teraz prejdeme k šifrovaciemu/dešifrovaciemu programu.
Krok 2: Šifrovací/dešifrovací súbor
Inštalačná časť hlavného súboru importuje závislosti, hashuje zadané heslo a načítava skutočné hashovanie hesla pomocou zadaného čísla súboru.
Po prvé, závislosti:
zo sys import *import os
importovať pyAesCrypt
importovať hashlib
Ďalej hašovanie zadaného hesla:
heslo = argv [1].encode ('utf-8') heslo = hashlib.sha256 (heslo).hexdigest ()
Nakoniec získanie hašovaného hesla:
file_key = str (argv [2]) hash = open (("desktop/safesetup/" + file_key), ("r +")). read ()
Druhá časť šifrovacieho súboru porovnáva hodnoty hash, určuje pravdivosť porovnania a na šifrovanie alebo dešifrovanie vami zvoleného súboru používa knižnicu python AESCrypt. Toto je pomerne veľký kus kódu, ale rozoberiem ho:
if (heslo == hash): print ("Heslo prijaté")
bufferSize = 64 * 1024
operation = str (vstup („Načítavate alebo šifrujete súbory? (r alebo e)“))
ak (operácia == 'r'):
file_name = str (vstup ("Súbor na načítanie:"))
pyAesCrypt.decryptFile ((meno_souboru + ".aes"), názov_súboru, heslo, veľkosť vyrovnávacej pamäte)
os.remove ((meno_souboru + ".aes"))
elif (operácia == 'e'):
file_name = str (vstup ("Súbor na šifrovanie:"))
pyAesCrypt.encryptFile (názov_souboru, (názov_súboru + „.aes“), heslo, veľkosť vyrovnávacej pamäte)
os.remove (názov_souboru)
inak:
vytlačiť („Chyba: nesprávne zadanie“)
inak:
tlač („Prístup odmietnutý“)
Prvý príkaz if určuje, či sa hašované heslá zhodujú. Ak áno, potom sa vás opýta, či chcete šifrovať súbory alebo načítať šifrované súbory. V závislosti od vášho zadania poskytnutý súbor buď zašifruje alebo dešifruje. Keď sa zobrazí výzva na zadanie názvu súboru, zadajte cestu, pokiaľ nie je súbor v rovnakom adresári ako program python. Program odstráni súbor v predchádzajúcom stave, nahradí ho šifrovaným súborom.aes alebo ho dešifruje a nahradí pôvodným súborom.
V budúcnosti by som to mohol aktualizovať tak, aby zahŕňal rozpoznávanie tváre pomocou knižnice Python OpenCV, ale zatiaľ budú musieť stačiť heslá.
Krok 3: Prevádzka súborov
Ak chcete spustiť inštalačný súbor, postupujte takto:
1. Napíšte terminál:
heslo adresára python3/setupname.py (nahradenie adresára, názvu inštalácie a hesla ich príslušnými hodnotami)
2. Terminál vygeneruje číslo vášho súboru. Nechaj si to.
Ak chcete spustiť šifrovací/dešifrovací program, postupujte takto:
1. Napíšte terminál:
adresár/názov súboru python3/názov súboru.py (nahradí adresár, názov súboru, heslo a číslo súboru príslušnými hodnotami)
2. Terminál potom buď prijme alebo odmietne vaše heslo. Ak ste odmietli, skúste to znova a uistite sa, že zadávate správne hodnoty. Po udelení prístupu sa vás terminál opýta, či chcete zašifrovať súbor alebo načítať súbor. Ak chcete zašifrovať súbor, zadajte e a ak chcete načítať zašifrovaný súbor, zadajte r.
3. Potom budete požiadaní o zadanie názvu súboru. Nezabudnite zadať adresár súboru, ako aj názov a tiež príponu súboru. Ak však dešifrujete súbor, nezadávajte časť.aes prípony, pretože na to zodpovedá kód.
4. Program potom zašifruje alebo dešifruje poskytnutý súbor a vymaže súbor v predchádzajúcom stave (zašifrovaný alebo dešifrovaný súbor zachová).
Voila! Ďakujem, že ste sa dostali až sem do pokynov, viem, že čítanie návodov k kódu nie je najzábavnejšie. Súbory pythonu sú priložené v tomto kroku pre tých z vás, ktorí to chcú skúsiť. Ešte raz ďakujem za prečítanie a prajem vám veľa šťastia vo vašom budúcom úsilí o kódovanie.
Odporúča:
Solárny senzor zabezpečenia: 4 kroky
Solárny napájací bezpečnostný senzor: Tento jednoduchý a lacný bezpečnostný senzor má niekoľko pozoruhodných funkcií, ktoré môžu byť pre fanúšikov zaujímavé: Solárny zdroj s malým nabíjacím obvodom na nabíjanie lítiových batérií solárnymi článkami je možné napájať káblom USB na prvé nabitie alebo batériou
Test zabezpečenia RFID: 3 kroky
Test zabezpečenia RFID: Toto je len test, či karta rfid funguje na prvý časovač
Ako sťahovať bezplatný softvér ako študent ISU (Microsoft, Adobe a bezpečnostný softvér: 24 krokov
Ako sťahovať bezplatný softvér ako študent ISU (Microsoft, Adobe a bezpečnostný softvér: pre spoločnosť Adobe: prejdite na krok 1. Pre spoločnosť Microsoft: prejdite na krok 8. V prípade zabezpečenia: prejdite na krok 12. V prípade Azure: prejdite na krok 16
Šifrovanie/dešifrovanie jednoduchých správ pomocou programu Poznámkový blok: 5 krokov
Vytvorte šifrovanie/dešifrovanie jednoduchých správ pomocou programu Poznámkový blok: Dobrý deň, s touto jednoduchou aplikáciou HTML môžete svoju správu šifrovať a dešifrovať pomocou hesla. Najprv vám ukážem, ako ho vytvoriť, a potom vám ukážem, ako ho používať. Začnime
Šifrovanie jednotky USB: 7 krokov
Šifrovanie jednotky USB: Prevediem vás krokmi potrebnými na šifrovanie jednotky USB pomocou bezplatného šifrovacieho nástroja TrueCrypt. V tomto návode použijem ako príklad systém Windows XP, ale TrueCrypt pobeží aj na Linuxe a OS X