Spisu treści:

Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python: 3 kroki
Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python: 3 kroki

Wideo: Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python: 3 kroki

Wideo: Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python: 3 kroki
Wideo: Jak działa algorytm RSA ? Szyfrowanie danych metodą RSA. Krok po kroku 2024, Listopad
Anonim
Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python
Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python
Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python
Oprogramowanie do szyfrowania/odszyfrowywania zabezpieczeń Python

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

Pisanie pliku instalacyjnego
Pisanie pliku instalacyjnego
Pisanie pliku instalacyjnego
Pisanie pliku instalacyjnego
Pisanie pliku instalacyjnego
Pisanie pliku instalacyjnego
Pisanie pliku instalacyjnego
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

Plik szyfrowania/odszyfrowywania
Plik szyfrowania/odszyfrowywania
Plik szyfrowania/odszyfrowywania
Plik szyfrowania/odszyfrowywania
Plik szyfrowania/odszyfrowywania
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: