Inhaltsverzeichnis:
- Schritt 1: Schreiben der Setup-Datei
- Schritt 2: Die Verschlüsselungs-/Entschlüsselungsdatei
- Schritt 3: Betrieb von Dateien
Video: Python Security Verschlüsselungs-/Entschlüsselungssoftware - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
In diesem Instructable zeige ich Ihnen, wie Sie mit einigen einfachen Python Ihre Dateien mit dem Industriestandard AES sicher halten können.
Anforderungen:
- Python 3.7
- PyAesCrypt-Bibliothek
- Hashlib-Bibliothek
Wenn Sie diese Bibliotheken nicht haben, können Sie sie einfach installieren, indem Sie Folgendes eingeben:
pip3 Hashlib installieren
pip3 PyAesCrypt installieren
im Terminal (oder CMD)
Diese solltest du schon haben:
- zufällige Bibliothek
- OS-Bibliothek
- Systembibliothek
Ich verwende OS X, aber es sollte nicht allzu wichtig sein, außer der Richtung der Schrägstriche in den Dateipfaden (OS X: /, Windows:)
Bitte beachten: Aufgrund eines Fehlers werden die Einrückungen im Code aus irgendeinem Grund nicht angezeigt. Im angezeigten Code wird es folglich keine Einrückungen geben, diese sind jedoch in den Python-Dateien, die ich am Ende angehängt habe, und in den beigefügten Bildern vorhanden. Nehmen Sie den Code nur nicht direkt aus dem angezeigten Text, da er aufgrund der fehlenden Einrückungen nicht funktioniert
Wenn Sie alle Abhängigkeiten installiert haben, fahren wir mit Schritt 1 fort.
Schritt 1: Schreiben der Setup-Datei
Einer der Faktoren, der dies so sicher macht, ist die Verwendung von Hashes zur Überprüfung des Passworts. Die Setup-Datei (ich nenne meine setupsafe.py) wird:
- Erstellen Sie einen Ordner und Dummy-Dateien für das Passwort
- Passwort festlegen
- Legen Sie die Dateinummer fest
- Hash das Passwort
Zunächst importieren wir unsere Abhängigkeiten:
aus sys-Import *
Importieren von OS
zufällig importieren
Hashlib importieren
Als nächstes erstellen wir einen Ordner, um den Passwort-Hash und die Dummy-Dateien zu speichern:
versuchen: wenn nicht os.path.exists('desktop/safesetup'):
os.mkdir('desktop/safesetup/')
außer OSError:
print("Fehler beim Erstellen des Ordners")
Dieser Code erstellt einen Ordner namens safesetup (sofern er nicht bereits vorhanden ist).
Danach legen wir das Passwort fest und generieren eine Zufallszahl zwischen 1 und 100, um durch die Dummy-Dateien zu navigieren:
globales Passwortpassword = argv[1].encode('utf-8')
n = random.randint(1, 101)
Nachdem wir nun unser Passwort und unsere Dateinummer haben, erstellen wir 99 Dummy-Dateien in Safesetup und eine echte Datei, die unseren Passwort-Hash enthält:
für x im Bereich(101): if(x != n):
f = open(("desktop/safesetup/"+str(x)), "w+")
f.schließen()
anders:
Passwort = hashlib.sha256(password).hexdigest()
f = open(("desktop/safesetup/"+str(x)), "w+")
f.schreiben (Passwort)
f.schließen()
drucken(n)
Die reale Datei heißt ganzzahlig n. Diese Datei enthält unser Passwort, nachdem es mit dem sha256-Algorithmus gehasht wurde (dieser Hash-Algorithmus wird häufig in Kryptowährungen verwendet, insbesondere bei Bitcoin).
Denken Sie daran, was n ist (es wird in der Konsole ausgegeben), da es genauso wichtig ist wie das Passwort.
Das ist alles, was wir für unser Setup-Programm brauchen, also gehen wir jetzt zum Verschlüsselungs-/Entschlüsselungsprogramm über.
Schritt 2: Die Verschlüsselungs-/Entschlüsselungsdatei
Der Setup-Abschnitt der Hauptdatei importiert die Abhängigkeiten, hasht das eingegebene Passwort und ruft den echten Passwort-Hash unter Verwendung der eingegebenen Dateinummer ab.
Zuerst die Abhängigkeiten:
from sys import *import os
pyAesCrypt importieren
Hashlib importieren
Als nächstes das Hashing des eingegebenen Passworts:
password = argv[1].encode('utf-8')password = hashlib.sha256(password).hexdigest()
Schließlich der Abruf des gehashten Passworts:
file_key = str(argv[2])hash = open(("desktop/safesetup/" + file_key), ("r+")).read()
Der zweite Abschnitt der Verschlüsselungsdatei vergleicht die Hashes, bestimmt die Richtigkeit des Vergleichs und verwendet die AESCrypt-Python-Bibliothek, um die Datei Ihrer Wahl zu verschlüsseln oder zu entschlüsseln. Dies ist ein ziemlich großer Codeblock, aber ich werde ihn aufschlüsseln:
if(password == hash): print("Passwort akzeptiert")
Puffergröße = 64 * 1024
operation = str(input("Abrufen oder verschlüsseln Sie Dateien? (r oder e)"))
if(operation == 'r'):
file_name = str(input("Datei zum Abrufen:"))
pyAesCrypt.decryptFile((Dateiname + ".aes"), Dateiname, Passwort, Puffergröße)
os.remove((Dateiname + ".aes"))
elif(operation == 'e'):
file_name = str(input("Zu verschlüsselnde Datei:"))
pyAesCrypt.encryptFile(Dateiname, (Dateiname + ".aes"), Passwort, Puffergröße)
os.remove(Dateiname)
anders:
print("Fehler: Falsche Eingabe")
anders:
print("Zugriff verweigert")
Die erste if-Anweisung bestimmt, ob die gehashten Passwörter übereinstimmen. Wenn dies der Fall ist, wird gefragt, ob Sie Dateien verschlüsseln oder verschlüsselte Dateien abrufen möchten. Abhängig von Ihrer Eingabe wird die bereitgestellte Datei entweder verschlüsselt oder entschlüsselt. Wenn Sie aufgefordert werden, den Namen der Datei anzugeben, stellen Sie sicher, dass Sie den Pfad angeben, es sei denn, die Datei befindet sich im selben Verzeichnis wie das Python-Programm. Das Programm löscht die Datei in ihrem vorherigen Zustand, ersetzt sie durch eine verschlüsselte.aes-Datei oder entschlüsselt sie und ersetzt sie durch die Originaldatei.
In Zukunft werde ich dies möglicherweise aktualisieren, um die Gesichtserkennung mithilfe der Python OpenCV-Bibliothek einzubeziehen, aber für den Moment müssen Passwörter ausreichen.
Schritt 3: Betrieb von Dateien
Führen Sie die folgenden Schritte aus, um die Setup-Datei auszuführen:
1. Geben Sie das Terminal ein:
python3 directory/setupname.py password (ersetzt Verzeichnis, Setupname und Passwort durch ihre jeweiligen Werte)
2. Das Terminal gibt Ihre Dateinummer aus. Behalte das.
Führen Sie die folgenden Schritte aus, um das Verschlüsselungs-/Entschlüsselungsprogramm auszuführen:
1. Geben Sie das Terminal ein:
python3-Verzeichnis/Dateiname.py Kennwort Dateinummer (Ersetzen von Verzeichnis, Dateiname, Kennwort und Dateinummer durch ihre jeweiligen Werte)
2. Das Terminal wird Ihr Passwort dann entweder akzeptieren oder ablehnen. Wenn Sie abgelehnt werden, versuchen Sie es erneut und stellen Sie sicher, dass Sie die richtigen Werte eingeben. Nachdem der Zugriff gewährt wurde, werden Sie vom Terminal gefragt, ob Sie eine Datei verschlüsseln oder eine Datei abrufen möchten. Um eine Datei zu verschlüsseln, geben Sie e ein, und um eine verschlüsselte Datei abzurufen, geben Sie r ein.
3. Anschließend werden Sie aufgefordert, den Dateinamen anzugeben. Denken Sie daran, das Verzeichnis der Datei sowie den Namen und die Dateierweiterung anzugeben. Wenn Sie jedoch eine Datei entschlüsseln, geben Sie nicht den.aes-Teil der Erweiterung ein, da der Code dies berücksichtigt.
4. Das Programm verschlüsselt oder entschlüsselt dann die bereitgestellte Datei und löscht die Datei in ihrem vorherigen Zustand (wobei die verschlüsselte oder entschlüsselte Datei beibehalten wird).
Voila! Vielen Dank, dass Sie es so weit in das anweisbare gemacht haben, ich weiß, dass das Lesen von Code-Tutorials nicht die unterhaltsamste Sache ist. Die Python-Dateien sind in diesem Schritt enthalten, für diejenigen unter Ihnen, die dies ausprobieren möchten. Nochmals vielen Dank fürs Lesen und ich wünsche Ihnen viel Glück bei Ihren zukünftigen Coding-Bemühungen.
Empfohlen:
So erstellen Sie Ihre erste einfache Software mit Python – wikiHow
So erstellen Sie Ihre erste einfache Software mit Python: Hallo, willkommen zu diesem Instructables. Hier werde ich erzählen, wie Sie Ihre eigene Software erstellen. Ja, wenn Sie eine Idee haben… aber wissen, wie Sie neue Dinge umsetzen können oder daran interessiert sind, Neues zu schaffen, dann ist es das Richtige für Sie
COVID19-Dashboard auf Weltkarte (mit Python) – wikiHow
COVID19-Dashboard auf der Weltkarte (mit Python): Ich weiß, dass fast alle von uns die meisten Informationen über COVID19 kennen , ich habe das Programm zum Github-Repository hinzugefügt: https://github.co
DIY WiFi Smart Security Light mit Shelly
DIY WiFi Smart Security Light mit Shelly 1: Diese Anleitung wird sich mit der Erstellung eines DIY Smart Security Light mit dem Shelly 1 Smart Relais von Shelly befassen. Wenn Sie ein Sicherheitslicht intelligent machen, haben Sie viel mehr Kontrolle darüber, wann es aktiviert wird und wie lange es eingeschaltet bleibt. Es kann aktiv sein
DIY Home Security - So erstellen Sie eine einfache Bewegungserkennung - Neue Version: 6 Schritte
DIY Home Security - So erstellen Sie eine einfache Bewegungserkennung | Neue Version: In diesem Projekt zeige ich Ihnen, wie Sie einen kostengünstigen DIY-Haussicherheits-Bewegungsmeldealarm erstellen können
Security Lite: 3 Schritte
Security Lite: Security Lite ist ein innovatives Sicherheitssystem, das günstig und sehr effektiv ist. Es verwendet Hauslichter, um Lichtänderungen zu erkennen, wenn eine Änderung auftritt, wird der Alarm ausgelöst. Meine Inspiration dafür waren Laser-Stolperdrähte und Bewegungssensoren. T