Verschlüsseln Sie einen Python-String

Vaibhhav Khetarpal 30 Januar 2023
  1. Verwenden Sie Simple Crypt, um einen String in Python zu verschlüsseln
  2. Verwenden Sie die cryptocode-Bibliothek, um einen String in Python zu verschlüsseln
  3. Verwenden Sie das Paket Cryptography, um einen String in Python zu verschlüsseln
  4. Verwenden Sie den RSA-Algorithmus, um einen String in Python zu verschlüsseln
Verschlüsseln Sie einen Python-String

Verschlüsselung kann als der Prozess definiert werden, der Klartext in Geheimtext umwandelt. Im Wesentlichen wird es verwendet, um die Daten zu codieren. Der Verschlüsselungsprozess erfordert einen Schlüssel, mit dem später die ursprüngliche Nachricht entschlüsselt werden kann.

In diesem Artikel werden die verschiedenen Methoden erläutert, mit denen Sie einen String in Python verschlüsseln können.

Verwenden Sie Simple Crypt, um einen String in Python zu verschlüsseln

Die Verwendung des Moduls Simple Crypt ist der schnellste und einfachste Weg, um den Verschlüsselungsprozess für Python 2.7 und 3 zu erreichen. Diese Methode wandelt Klartext in Sekundenschnelle mit Hilfe einer einzigen Codezeile in einen Geheimtext um.

Das Modul PyCrypto liefert die Algorithmusimplementierung für diese Bibliothek und verwendet die Verschlüsselung AES256. Diese Methode beinhaltet eine HMAC-Prüfung mit der SHA256-Chiffre, um zu benachrichtigen, wenn der Chiffretext geändert oder modifiziert wird.

Simple Crypt hat zwei Funktionen: encrypt und decrypt. Um diese beiden Funktionen nutzen zu können, müssen sowohl das pycrypto- als auch das simplecrypt-Modul installiert werden.

Der folgende Code verwendet simplecrypt, um einen String in Python zu verschlüsseln:

from simplecrypt import encrypt, decrypt

passkey = "wow"
str1 = "I am okay"
cipher = encrypt(passkey, str1)
print(cipher)

Die Ausgabe dieses Codes wäre eine Ansammlung zufälliger Buchstaben.

Um den Geheimtext zu entschlüsseln/entschlüsseln, verwenden wir den folgenden Befehl:

print(decrypt("wow", cipher))

Ausgabe:

I am okay

Verwenden Sie die cryptocode-Bibliothek, um einen String in Python zu verschlüsseln

Der Begriff cryptocode ist eine einfache Bibliothek, mit der wir Strings sicher und einfach in Python 3 oder höher ver- und entschlüsseln können. Denken Sie daran, dass diese Bibliothek manuell installiert werden muss; dies kann mit dem Befehl pip erfolgen.

Das folgende Programm verwendet die Bibliothek cryptocode, um einen String in Python zu verschlüsseln:

import cryptocode

str_encoded = cryptocode.encrypt("I am okay", "wow")
# And then to decode it:
str_decoded = cryptocode.decrypt(str_encoded, "wow")
print(str_decoded)

Ausgabe:

I am okay

Der erste Parameter in der Funktion wäre die Zeichenkette, die verschlüsselt werden muss. Der zweite Parameter muss der Schlüssel sein, der für die Entschlüsselung verwendet wird.

Verwenden Sie das Paket Cryptography, um einen String in Python zu verschlüsseln

Cryptography ist ein Python-Paket, das verwendet werden kann, um eine Verschlüsselung mit symmetrischen Schlüsseln zu erreichen. Bei der Verschlüsselung mit symmetrischen Schlüsseln verwenden wir denselben Schlüssel für den Kodierungs- und Dekodierungsprozess.

Um diese Methode zur Verschlüsselung nutzen zu können, muss die Bibliothek Cryptography installiert sein; Dies kann mit dem Befehl pip erfolgen.

Der folgende Code verwendet die Paketfunktionen cryptography, um einen String in Python zu verschlüsseln:

from cryptography.fernet import Fernet

str1 = "I am okay"
key = Fernet.generate_key()

fernet = Fernet(key)

enctex = fernet.encrypt(str1.encode())

dectex = fernet.decrypt(enctex).decode()

print("The primordial string: ", str1)
print("The Encrypted message: ", enctex)
print("The Decrypted message: ", dectex)

Ausgabe:

The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay

Im obigen Code importieren wir Fernet aus dem Modul cryptography.fernet. Dann generieren wir einen Verschlüsselungsschlüssel, der sowohl zum Kodieren als auch zum Dekodieren verwendet wird. Die Fernet-Klasse wird mit dem Verschlüsselungsschlüssel instanziiert. Der String wird dann mit der Fernet-Instanz verschlüsselt. Schließlich wird es mit der Fernet-Klasseninstanz entschlüsselt.

Die Verschlüsselung mit symmetrischen Schlüsseln ist eine mühelose Methode zum Verschlüsseln einer Zeichenkette. Der einzige Nachteil ist, dass es vergleichsweise weniger sicher ist. Jeder, der den Schlüssel besitzt, kann den verschlüsselten Text lesen.

Verwenden Sie den RSA-Algorithmus, um einen String in Python zu verschlüsseln

Der RSA-Algorithmus in Python implementiert die Asymmetric-Key Encryption. Die Verschlüsselung mit asymmetrischen Schlüsseln verwendet zwei verschiedene Schlüssel für den Verschlüsselungs- und Entschlüsselungsprozess.

Diese beiden Schlüssel sind der öffentlichen Schlüssel und der privaten Schlüssel. Der Public Key ist öffentlich und wird für den Verschlüsselungsprozess verwendet. Jeder mit dem öffentlichen Schlüssel kann die Daten verschlüsseln und versenden; nur der Empfänger hat den privaten Schlüssel. Darüber hinaus kann auch jemand mit Zugriff darauf die Daten entschlüsseln.

Um diese Methode verwenden zu können, muss zuerst die Bibliothek rsa installiert werden. Für die Installation dieser Bibliothek können Sie den allgemeinen Befehl pip verwenden.

Der folgende Code verwendet den RSA-Algorithmus, um einen String in Python zu verschlüsseln:

import rsa

pubkey, privkey = rsa.newkeys(512)

str1 = "I am okay"

enctex = rsa.encrypt(str1.encode(), pubkey)


dectex = rsa.decrypt(enctex, privkey).decode()
print("The primordial string: ", str1)
print("The Encrypted message: ", enctex)
print("The Decrypted message: ", dectex)

Ausgabe:

The primordial string: I am okay
The Encrypted message: <a stack of random letters>
The Decrypted message: I am okay

Im obigen Code wird das Modul rsa importiert und mit Hilfe der Funktion rsa.newkeys() der öffentliche und der private Schlüssel generiert. Anschließend wird der String mit dem öffentlichen Schlüssel verschlüsselt. Der String kann dann nur mit dem privaten Schlüssel entschlüsselt werden. Der öffentliche und der private Schlüssel sind bei diesem Programm pubkey bzw. privkey.

Die Verschlüsselung mit asymmetrischem Schlüssel bietet eine bessere Sicherheit als die Verschlüsselung mit symmetrischem Schlüssel. Wie bei ersterem ist ein bestimmter privaten Schlüssel nur für den Empfänger zugänglich und dient der Entschlüsselung. Während in letzterem nur ein Schlüssel existiert, ist der Entschlüsselungsprozess einfacher und weniger sicher vor Angriffen durch Dritte in der Mitte des Senders und des Empfängers.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Verwandter Artikel - Python String

Verwandter Artikel - Python Encryption