Kryptographie mit Python

Kryptographie mit Python

Die Kryptographie, die Wissenschaft der Chiffren, wird mit Hilfe der Codierung real gemacht. Wir können nicht entscheiden, dass eine Programmiersprache besser oder schlechter ist als eine andere. Die Auswahl einer geeigneten Kryptographie -Bibliothek macht jedoch den Unterschied aus.

Python bietet einige sehr ausgefeilte Bibliotheken und Module für die Verschlüsselung und Entschlüsselung der Daten. Einige von ihnen sind Kryptographie, Hashlib, einfaches Kriechen usw. Der Artikel zeigt die Verwendung moderner kryptografischer Praktiken in Python mit Hilfe der Kryptographie -Bibliothek, indem sie veranschaulicht.

Installation der Kryptographie -Bibliothek

Die Kryptographie ist eine Bibliothek in Python, die den Benutzern verschiedene kryptografische Möglichkeiten bietet. Eine davon ist eine einfache Datenverschlüsselung und Entschlüsselung. Verwenden Sie den folgenden Befehl, um die Kryptographie -Bibliothek zu installieren.

Ubuntu@Ubuntu: ~ $ PIP Installieren Sie die Kryptographie

Textverschlüsselung

Fernet importieren

Nach erfolgreicher Installation wird das Fernet -Modul aus der Bibliothek importiert. Die Funktion übernimmt die Verantwortung für Verschlüsselung sowie die Entschlüsselung von Daten. Erstellen Sie dafür eine Python -Datei und importieren Sie das Fernet -Modul aus der Kryptographie -Bibliothek wie folgt:

aus der Kryptographie.Fernet Import Fernet

Schlüssel generieren

Generieren Sie nun den Authentifizierungsschlüssel, indem Sie eine Funktion definieren oder einfach einen Fernet -Generator in Python verwenden. Der Fernet.Generate_key () -Funktion generiert einen Schlüssel zur Verschlüsselung und Entschlüsselung. Fügen Sie dem Code die folgende Zeile hinzu:

>> Key = Fernet.generate_key ()

Jetzt wird die Fernet -Klasse mit dem generierten Schlüssel instanziiert.

>> Fernet = Fernet (Schlüssel)

Textzeichenfolge Verschlüsselung

Die Verschlüsselung des Textes ist jetzt nur wenige Codezeilen entfernt. Fügen Sie die folgenden Zeilen hinzu, um Ihren Text zu verschlüsseln.

>> message = "Dieser Text wird verschlüsselt"
>> decrypted_message = fernet.verschlüsseln (Nachricht.kodieren())
>> print ('Original Text String:', Nachricht)
>> print ('Nachricht nach der Verschlüsselung:' Encrypted_Message)

Die Ausführung des oben genannten Python -Codes gibt eine nicht entscheidende Zeichenfolge alphanumerischer Zeichen aus, wie unten gezeigt. Es ist die einfachste Form der Textzeichenverschlüsselung mit Hilfe der Kryptographie -Bibliothek in Python. Erstens codiert es die Zeichenfolge, um sie später mit dem Cryptography -Verschlüsselungsrezept zu verschlüsseln.

Die Entschlüsselung der Textzeichenfolge

Entschlüsseln Sie den Text nach der String -Verschlüsselung über die Verschlüsselungsmethode der Ferret -Verschlüsselung zurück in seine ursprüngliche Form. Eine erfolgreiche Entschlüsselung stellt sicher, dass der Empfänger ohne Probleme auf die Informationen dekodieren und zugreifen kann.

Daher machen Fernet -Module für eine glatte Entschlüsselung auch eine einfache Entschlüsselungsfunktion. Das Hinzufügen dieser beiden Zeilen zu Ihrer Python -Datei entschlüsselt die gleiche Nachricht reibungslos in ihre anfängliche Form.

entschlüsselt_message = Fernet.entschlüsseln (decrypted_message).dekodieren()
print ('entschlüsselter Textzeichenfolge:', entschlüsselt_message)

Die obigen Codezeilen verwenden die gleiche Instanz von Fernet, die den Schlüssel verwendet, der im Programmspeicher für die Entschlüsselung gespeichert ist. Der Fernet.Die Funktion decrypt () gibt die codierte Zeichenfolge nach der Entschlüsselung zurück, wie sie vor der Verschlüsselung codiert wurde. Jetzt gibt die Dekodierungsfunktion die codierte Zeichenfolge in ihre ursprüngliche Form zurück.

Dateiverschlüsselung

Importieren Sie das Fernet -Modul genau wie die Textverschlüsselung für die Dateiverschlüsselung und die Schlüsselgenerierung. Importieren Sie das Fernet -Modul aus der Kryptographie -Bibliothek.

aus der Kryptographie.Fernet Import Fernet

Schlüsselgeneration

Wie oben gezeigt, verwenden Sie die Funktion Fernet -Schlüsselgenerator, um den Schlüssel zu generieren. Obwohl es ein besserer Ansatz ist, die Verschlüsselung und Entschlüsselung der kurzen Texte zu testen, ist dies nicht praktisch nützlich, da sie den Schlüssel nach der Programmabgabe dauerhaft verliert. Daher wird empfohlen, den Schlüssel in einer Datei sicher zu speichern, damit er bei Bedarf gelesen und verwendet werden kann.

Aktivieren Sie dies, indem Sie eine Schlüsselgeneratorfunktion in dem Code definieren, der den Schlüssel zu einer Datei schreibt. Es kann auch durchgeführt werden, indem der Fernet -Schlüssel in einer Textdatei gespeichert wird. Generieren Sie den Schlüssel und speichern Sie ihn für die zukünftige Verwendung in einer Datei.

>> Key = Fernet.generate_key ()
>> mit offen ('keyfile.Schlüssel ',' WB ') als Keyfile:
Keyfile.Schreiben (Schlüssel)

Dieser Code generiert eine zufällige alphanumerische Zeichenfolge und speichert sie in der Keyfile.Schlüsseldatei.

Verschlüsselung

Verwenden Sie die folgende Codezeile, um den bereits gespeicherten Schlüssel für die Dateiverschlüsselung zu lesen.

>> mit offen ('keyfile.Schlüssel ',' rb ') als Keyfile:
>> key = keyfile.lesen()

Verwenden Sie den Schlüssel für die Fernet -Instanz:

>> Fernet = Fernet (Schlüssel)

Öffnen und lesen Sie die Datei, die verschlüsselt werden soll, und verschlüsseln Sie die Daten in der Datei mithilfe der Fernet -Verschlüsselung:

>> mit Open ('Liste.CSV ',' RB ') als Original_file:
original_data = original_file.lesen()
>> decrypted_data = fernet.verschlüsseln (original_data)

Öffnen Sie nun die Datei im Schreibmodus und schreiben Sie die verschlüsselten Daten zurück:

>> mit Open ('Liste.csv ',' wb ') als verschlüsselt_file:
decrypted_file.Schreiben (verschlüsselt_data)

Die obige Codeausführung ersetzt die Originaldateidaten durch einen Großteil alphanumerischer Zeichenfolgen.

Entschlüsseln der Datei

Verwenden Sie das Fernet -Modul erneut, um die Datei mit demselben Schlüssel zu entschlüsseln. Der folgende Code liest zunächst die Daten aus der verschlüsselten Datei und stellt sie mit der Entschlüsselungsfunktion in ihre ursprüngliche Form wieder her.

>> Fernet = Fernet (Schlüssel)
>> mit Open ('Liste.csv ',' rb ') als verschlüsselt_file:
decrypted_data = decrypted_file.lesen()
>> entschlüsselt_data = Fernet.entschlüsseln (decrypted_data)
>> mit Open ('Liste.csv ',' wb ') als entschlüsselt_file:
entschlüsselt.schreiben (entschlüsselt_data)

Abschluss

Die Kryptographie -Bibliothek ist eine der vielen Bibliotheken und Module, die Python für sichere Kommunikation und Verschlüsselung anbietet. Das Fernet-Modul der Bibliothek bietet einen integrierten Schlüsselgenerator und bietet Verschlüsselungs- und Entschlüsselungsfunktionen für eine Datenzeichenfolge und große Dateien.