Obsah:
Video: Software pro šifrování/dešifrování zabezpečení Pythonu: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
V tomto Instructable vám ukážu, jak s nějakým jednoduchým Pythonem můžete zajistit zabezpečení svých souborů pomocí průmyslového standardu AES.
Požadavky:
- Python 3.7
- Knihovna PyAesCrypt
- knihovna hashlib
Pokud tyto knihovny nemáte, můžete je snadno nainstalovat zadáním:
pip3 nainstalujte hashlib
pip3 nainstalujte PyAesCrypt
v terminálu (nebo CMD)
Měli byste již mít tyto:
- náhodná knihovna
- knihovna os
- systémová knihovna
Používám OS X, ale nemělo by na tom příliš záležet, kromě směru lomítek v cestách k souborům (OS X: /, Windows:)
Poznámka: Kvůli nějaké závadě se zářezy v kódu z nějakého důvodu nezobrazují. V důsledku toho nebudou v zobrazeném kódu žádná odsazení, ale jsou přítomna v souborech Pythonu, které jsem připojil na konci, a v přiložených obrázcích. Jen neberte kód přímo ze zobrazeného textu, protože kvůli nedostatku odsazení nebude fungovat
Pokud máte nainstalovány všechny závislosti, přejděte ke kroku 1.
Krok 1: Zápis instalačního souboru
Jedním z faktorů, které to činí tak bezpečným, je použití hash pro kontrolu hesla. Instalační soubor (volám můj setupsafe.py) bude:
- Vytvořte složku a fiktivní soubory pro heslo
- Nastavte heslo
- Nastavte číslo souboru
- Zaškrtněte heslo
Nejprve importujeme naše závislosti:
ze sys importu *
import os
importovat náhodně
importovat hashlib
Dále vytvoříme složku pro uložení hesla hash a fiktivních souborů:
zkus: pokud ne os.path.exists ('desktop/safesetup'):
os.mkdir ('desktop/safesetup/')
kromě OSError:
tisk ("Chyba při vytváření složky")
Tento kód vytvoří složku s názvem safesetup (pokud již neexistuje).
Poté nastavíme heslo a vygenerujeme náhodné číslo mezi 1 a 100 jako způsob, jak procházet fiktivní soubory:
globální heslo heslo = argv [1].encode ('utf-8')
n = random.randint (1, 101)
Nyní, když máme heslo a číslo souboru, vytvoříme v safesetupu 99 fiktivních souborů a jeden skutečný soubor, který bude obsahovat hash hesla:
pro x v rozsahu (101): if (x! = n):
f = otevřeno (("desktop/safesetup/"+str (x)), "w+")
f.close ()
jiný:
heslo = hashlib.sha256 (heslo).hexdigest ()
f = otevřeno (("desktop/safesetup/"+str (x)), "w+")
f.write (heslo)
f.close ()
tisk (n)
Skutečný soubor se nazývá bez ohledu na celé číslo n. Tento soubor obsahuje naše heslo poté, co bylo hašováno pomocí algoritmu sha256 (tento hashovací algoritmus je široce používán v kryptoměnách, zejména v bitcoinech).
Pamatujte si, co je n (bude vytištěno v konzole), protože je stejně důležité jako heslo.
To je vše, co pro náš instalační program potřebujeme, takže nyní přejdeme k šifrovacímu/dešifrovacímu programu.
Krok 2: Soubor šifrování/dešifrování
Sekce nastavení hlavního souboru importuje závislosti, hashuje zadané heslo a načítá skutečný hash hesla pomocí zadaného čísla souboru.
Za prvé, závislosti:
ze sys import *import os
importovat pyAesCrypt
importovat hashlib
Dále hashování zadaného hesla:
heslo = argv [1].encode ('utf-8') heslo = hashlib.sha256 (heslo).hexdigest ()
Nakonec získání hašovaného hesla:
file_key = str (argv [2]) hash = open (("desktop/safesetup/" + file_key), ("r +")). read ()
Druhá část šifrovacího souboru porovnává hodnoty hash, určuje pravdivost porovnání a používá k šifrování nebo dešifrování vámi vybraného souboru knihovnu AESCrypt python. Toto je poměrně velký kus kódu, ale rozdělím to:
if (heslo == hash): print ("Heslo přijato")
bufferSize = 64 * 1024
operation = str (vstup („Načítáte nebo šifrujete soubory? (r nebo e)“))
if (operation == 'r'):
název_souboru = str (vstup ("Soubor k načtení:"))
pyAesCrypt.decryptFile ((název_souboru + ".aes"), název_souboru, heslo, velikost vyrovnávací paměti)
os.remove ((název_souboru + ".aes"))
elif (operace == 'e'):
název_souboru = str (vstup ("Soubor k šifrování:"))
pyAesCrypt.encryptFile (název_souboru, (název_souboru + „.aes“), heslo, velikost vyrovnávací paměti)
os.remove (název_souboru)
jiný:
tisk ("Chyba: nesprávný vstup")
jiný:
tisk ("Přístup odepřen")
První příkaz if určuje, zda se hashovaná hesla shodují. Pokud ano, pak se vás zeptá, zda chcete šifrovat soubory nebo načítat šifrované soubory. V závislosti na vašem zadání buď zašifruje nebo dešifruje poskytnutý soubor. Až budete vyzváni k zadání názvu souboru, nezapomeňte zadat cestu, pokud soubor není ve stejném adresáři jako program python. Program odstraní soubor v předchozím stavu, nahradí jej šifrovaným souborem.aes nebo jej dešifruje a nahradí původním souborem.
V budoucnu bych to mohl aktualizovat tak, aby zahrnoval rozpoznávání obličeje pomocí knihovny Python OpenCV, ale prozatím bude muset stačit heslo.
Krok 3: Provoz souborů
Chcete -li spustit instalační soubor, postupujte takto:
1. Zadejte terminál:
heslo adresáře python3/setupname.py (nahrazení adresáře, názvu instalace a hesla jejich příslušnými hodnotami)
2. Terminál vydá číslo vašeho souboru. Nechte si to.
Chcete -li spustit šifrovací/dešifrovací program, postupujte takto:
1. Zadejte terminál:
python3 adresář/název_souboru.py heslo číslo souboru (nahrazení adresáře, názvu souboru, hesla a čísla souboru příslušnými hodnotami)
2. Terminál poté vaše heslo buď přijme, nebo odmítne. Pokud je zamítnuto, zkuste to znovu a ujistěte se, že zadáváte správné hodnoty. Po udělení přístupu se vás terminál zeptá, zda chcete soubor zašifrovat nebo soubor načíst. Chcete -li šifrovat soubor, zadejte e a pro načtení zašifrovaného souboru zadejte r.
3. Poté budete požádáni o zadání názvu souboru. Nezapomeňte zadat adresář souboru, název a také příponu souboru. Pokud však dešifrujete soubor, nezadávejte část.aes přípony, protože to odpovídá kódu.
4. Program poté zašifruje nebo dešifruje poskytnutý soubor a odstraní soubor v předchozím stavu (zašifrovaný nebo dešifrovaný soubor zachová).
Voila! Díky, že jste se dostali tak daleko do instruktáže, vím, že čtení návodů k kódu není nejzábavnější věc. Soubory pythonu jsou v tomto kroku uzavřeny pro ty z vás, kteří tomu chtějí dát šanci. Ještě jednou děkuji za přečtení a přeji vám hodně štěstí ve vašem budoucím úsilí o kódování.
Doporučuje:
DIY dveřní senzor pro zabezpečení pomocí ESP8266: 3 kroky
DIY Dveřní senzor pro zabezpečení pomocí ESP8266: Zabezpečte svůj domov pomocí inteligentního dveřního senzoru, který byl kompletně navržen pomocí open source technologií. V tomto videu vytvoříme zařízení, které detekuje, zda jsou dveře otevřené nebo zavřené, a snímá informace do vašeho smartphonu pomocí server BLYNK
Vytvořte jednoduché šifrování/dešifrování zpráv pomocí programu Poznámkový blok: 5 kroků
Vytvářejte jednoduché šifrování/dešifrování zpráv pomocí programu Poznámkový blok: Dobrý den, s touto jednoduchou aplikací HTML můžete zprávu šifrovat a dešifrovat pomocí hesla. Nejprve vám ukážu, jak jej vytvořit, a poté vám ukážu, jak jej používat. Začněme
Šifrování jednotky USB: 7 kroků
Šifrování jednotky USB: Provedu vás kroky potřebnými k zašifrování jednotky USB pomocí bezplatného šifrovacího nástroje TrueCrypt. V tomto pokynu budu jako příklad používat systém Windows XP, ale TrueCrypt poběží také na Linuxu a OS X
Převeďte starou kartu Memory Stick na databanku pomocí vládního šifrování: 4 kroky
Převeďte starou kartu Memory Stick na databanku pomocí vládního šifrování: Máte starou paměťovou kartu? Máte cenné soubory, které potřebujete chránit? Zjistěte, jak chránit své soubory lépe než jednoduchý archiv RAR s heslem; protože v této moderní době jej může každý, kdo má dobrý počítač, dešifrovat za méně než jeden den. Používám paměť 32 MB
Heslo na USB disk bez šifrování pomocí dávkového souboru: 8 kroků
Heslo na USB disk bez šifrování s dávkovým souborem: program, který nepustí uživatele na disk bez hesla a zobrazí soubor vlastníka, který můžete libovolně změnit. Toto vám ukáže, jak snadno používat program, který jsem vytvořil