Spisu treści:
- Krok 1: Pisanie pliku instalacyjnego
- Krok 2: Plik szyfrowania/odszyfrowywania
- Krok 3: Działanie plików
Wideo: Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python: 3 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
W tej instrukcji pokażę, jak za pomocą prostego Pythona możesz zabezpieczyć swoje pliki przy użyciu standardowego AES.
Wymagania:
-Pyton 3.7
- Biblioteka PyAesCrypt
- biblioteka hashlib
Jeśli nie masz tych bibliotek, możesz łatwo zainstalować, wpisując:
pip3 zainstaluj hashlib
pip3 zainstaluj PyAesCrypt
w terminalu (lub CMD)
Powinieneś już mieć te:
- losowa biblioteka
- biblioteka systemu operacyjnego
- biblioteka systemowa
Używam OS X, ale nie powinno to mieć większego znaczenia, z wyjątkiem kierunku ukośników w ścieżkach plików (OS X: /, Windows:)
Uwaga: z powodu usterki wcięcia w kodzie z jakiegoś powodu nie są wyświetlane. W związku z tym w wyświetlanym kodzie nie będzie żadnych wcięć, jednak są one obecne w załączonych na końcu plikach Pythona oraz na załączonych obrazkach. Po prostu nie bierz kodu bezpośrednio z wyświetlanego tekstu, ponieważ nie zadziała z powodu braku wcięć
Jeśli masz zainstalowane wszystkie zależności, przejdźmy do kroku 1.
Krok 1: Pisanie pliku instalacyjnego
Jednym z czynników, który sprawia, że jest to tak bezpieczne, jest użycie skrótów do sprawdzania hasła. Plik instalacyjny (nazywam mój setupsafe.py) będzie:
- Utwórz folder i atrapy plików dla hasła
- Ustaw hasło
-Ustaw numer pliku
- Zahaszuj hasło
Najpierw zaimportujemy nasze zależności:
z importu sys *
importuj system
importuj losowo
importuj hashlib
Następnie utworzymy folder do przechowywania skrótu hasła i fikcyjnych plików:
spróbuj: jeśli nie os.path.exists('desktop/safesetup'):
os.mkdir('pulpit/safesetup/')
z wyjątkiem OSError:
print("Błąd tworzenia folderu")
Ten kod utworzy folder o nazwie safesetup (chyba że już istnieje).
Następnie ustawimy hasło i wygenerujemy losową liczbę od 1 do 100, aby nawigować po fikcyjnych plikach:
hasło globalne hasło = argv[1].encode('utf-8')
n = losowo.randint(1, 101)
Teraz, gdy mamy nasze hasło i nasz numer pliku, utworzymy 99 fikcyjnych plików wewnątrz safesetup i jeden prawdziwy plik, który będzie zawierał nasz skrót hasła:
dla x w zakresie(101): if(x != n):
f = open(("pulpit/safesetup/"+str(x)), "w+")
f.zamknij()
w przeciwnym razie:
hasło = hashlib.sha256(hasło).hexdigest()
f = open(("pulpit/safesetup/"+str(x)), "w+")
f.write(hasło)
f.zamknij()
drukuj(n)
Prawdziwy plik nazywa się dowolną liczbą całkowitą n. Ten plik zawiera nasze hasło, po zaszyfrowaniu algorytmem sha256 (ten algorytm skrótu jest szeroko stosowany w kryptowalutach, w szczególności Bitcoin).
Pamiętaj, co to jest n (zostanie wydrukowane w konsoli), ponieważ jest tak samo ważne jak hasło.
To wszystko, czego potrzebujemy do naszego programu instalacyjnego, więc przejdziemy teraz do programu szyfrującego/deszyfrującego.
Krok 2: Plik szyfrowania/odszyfrowywania
Sekcja konfiguracji głównego pliku importuje zależności, haszuje wprowadzone hasło i pobiera prawdziwy skrót hasła przy użyciu wprowadzonego numeru pliku.
Po pierwsze, zależności:
z importu sys * importuj z systemu operacyjnego
importuj pyAesCrypt
importuj hashlib
Następnie hashowanie wprowadzonego hasła:
hasło = argv[1].encode('utf-8')hasło = hashlib.sha256(hasło).hexdigest()
Na koniec odzyskiwanie zaszyfrowanego hasła:
file_key = str(argv[2])hash = open(("pulpit/safesetup/" + file_key), ("r+")).read()
Druga sekcja pliku szyfrowania porównuje skróty, określa prawdziwość porównania i używa biblioteki Pythona AESCrypt do zaszyfrowania lub odszyfrowania wybranego pliku. To dość spory kawałek kodu, ale opiszę go:
if(hasło == hash): print("Hasło akceptowane")
rozmiar bufora = 64 * 1024
operacja = str(input("Czy pobierasz lub szyfrujesz pliki? (r lub e) "))
if(operacja == 'r'):
nazwa_pliku = str(input("Plik do pobrania: "))
pyAesCrypt.decryptFile((nazwa_pliku + ".aes"), nazwa_pliku, hasło, rozmiar bufora)
os.remove((nazwa_pliku + ".aes"))
elif(operacja == 'e'):
nazwa_pliku = str(input("Plik do zaszyfrowania: "))
pyAesCrypt.encryptFile(nazwa_pliku, (nazwa_pliku + ".aes"), hasło, rozmiar bufora)
os.remove(nazwa_pliku)
w przeciwnym razie:
print("Błąd: Nieprawidłowe dane wejściowe")
w przeciwnym razie:
print("Odmowa dostępu")
Pierwsza instrukcja if określa, czy zaszyfrowane hasła są zgodne. Jeśli tak, to następnie pyta, czy chcesz zaszyfrować pliki lub odzyskać zaszyfrowane pliki. W zależności od wprowadzonych danych zaszyfruje lub odszyfruje dostarczony plik. Po wyświetleniu monitu o podanie nazwy pliku upewnij się, że podałeś ścieżkę, chyba że plik znajduje się w tym samym katalogu, co program Python. Program usuwa plik w jego poprzednim stanie, zastępując go zaszyfrowanym plikiem.aes lub odszyfrowując go i zastępując oryginalnym plikiem.
W przyszłości może zaktualizuję to, aby uwzględnić rozpoznawanie twarzy za pomocą biblioteki Python OpenCV, ale na razie hasła będą musiały wystarczyć.
Krok 3: Działanie plików
Aby uruchomić plik instalacyjny, wykonaj następujące kroki:
1. Wpisz w terminalu:
python3 directory/setupname.py hasło (zastępując katalog, setupname i hasło odpowiednimi wartościami)
2. Terminal wyświetli numer twojego pliku. Trzymaj to.
Aby uruchomić program szyfrujący/deszyfrujący, wykonaj następujące kroki:
1. Wpisz w terminalu:
python3 directory/filename.py hasło numer pliku (zastępując katalog, nazwę pliku, hasło i numer pliku odpowiednimi wartościami)
2. Terminal zaakceptuje lub odrzuci Twoje hasło. W przypadku odrzucenia spróbuj ponownie i upewnij się, że wpisujesz prawidłowe wartości. Po przyznaniu dostępu terminal zapyta, czy chcesz zaszyfrować plik, czy pobrać plik. Aby zaszyfrować plik, wpisz e, a aby pobrać zaszyfrowany plik, wpisz r.
3. Następnie zostaniesz poproszony o podanie nazwy pliku. Pamiętaj, aby podać katalog pliku oraz nazwę, a także rozszerzenie pliku. Jeśli jednak odszyfrujesz plik, nie wpisuj części.aes rozszerzenia, ponieważ uwzględnia to kod.
4. Program następnie szyfruje lub odszyfrowuje dostarczony plik i usuwa plik w jego poprzednim stanie (zachowując zaszyfrowany lub odszyfrowany plik).
Voila! Dzięki za zrobienie tego tak daleko w instruktażu, wiem, że czytanie samouczków kodu nie jest najbardziej zabawną rzeczą. Pliki Pythona są zawarte w tym kroku, dla tych z Was, którzy chcą dać temu szansę. Jeszcze raz dziękuję za przeczytanie i życzę powodzenia w przyszłych programach.
Zalecana:
Zrób to sam system zabezpieczeń klucza odcisków palców: 8 kroków
DIY-Fingerprint Key Security System: Ta aplikacja jest przydatna do zabezpieczania naszych codziennych potrzebnych kluczy (zamka). Czasami mamy kilka popularnych kluczy, takich jak dom, garaż, parking między dwiema lub więcej osobami. Na rynku dostępnych jest wiele systemów biometrycznych, może to
System zabezpieczeń kamery internetowej Pizero Motion Detect: 3 kroki
Pizero Motion Detect Webcam Security System: Ten system wykorzystuje pizero, klucz Wi-Fi i starą kamerę internetową w dostosowanym pudełku zapałek. Nagrywa filmy z wykrywaniem ruchu w 27 klatkach na sekundę każdego znaczącego ruchu na moim podjeździe. Następnie przesyła klipy na konto Dropbox. Może również przeglądać dzienniki i c
Jak pobrać bezpłatne oprogramowanie jako student ISU (Microsoft, Adobe i oprogramowanie zabezpieczające: 24 kroki)
Jak pobrać bezpłatne oprogramowanie jako student ISU (Microsoft, Adobe i oprogramowanie zabezpieczające: W przypadku firmy Adobe: przejdź do kroku 1. W przypadku firmy Microsoft: przejdź do kroku 8. W przypadku zabezpieczeń: przejdź do kroku 12. W przypadku platformy Azure: przejdź do kroku 16
Jak oszukać system zabezpieczeń odcisków palców tak łatwy jak ABC: 12 kroków (ze zdjęciami)
Jak oszukać system bezpieczeństwa linii papilarnych tak łatwy jak ABC: Ta instrukcja pokaże Ci, jak oszukać system bezpieczeństwa linii papilarnych tak łatwy jak ABC. IBM nigdy nie chce, żebyś o tym wiedział. działa również dla większości systemu bezpieczeństwa linii papilarnych. Na przykład: np. drzwi, telefon komórkowy …. Ta instrukcja jest dostarczana z v
Hasło do dysku USB bez szyfrowania za pomocą pliku wsadowego: 8 kroków
Hasło do dysku USB bez szyfrowania za pomocą pliku wsadowego: program, który nie wpuści użytkownika na dysk bez hasła i pokaże plik właściciela, który możesz dowolnie zmienić, pokaże ci, jak z łatwością korzystać z programu, który stworzyłem