Heim > Artikel > Backend-Entwicklung > So verschlüsseln und entschlüsseln Sie Daten in Python
Um Daten in Python zu ver- und entschlüsseln, sind spezifische Codebeispiele erforderlich
Datenverschlüsselung und -entschlüsselung sind sehr wichtige Konzepte im Bereich der Informationssicherheit. In praktischen Anwendungen müssen wir häufig sensible Daten verschlüsseln, um unbefugten Zugriff und Informationsverlust zu verhindern. Python ist eine leistungsstarke Programmiersprache, die eine Fülle von Bibliotheken und Funktionen zur Implementierung von Datenverschlüsselungs- und -entschlüsselungsvorgängen bereitstellt. In diesem Artikel werden einige häufig verwendete Verschlüsselungsalgorithmen und spezifische Codebeispiele zur Implementierung der Datenverschlüsselung und -entschlüsselung in Python vorgestellt.
1. MD5-Verschlüsselungsalgorithmus
MD5 (Message-Digest-Algorithmus 5) ist eine häufig verwendete Hash-Funktion zum Verschlüsseln von Daten beliebiger Länge. Es wandelt Nachrichten beliebiger Länge in einen digitalen 128-Bit-Fingerabdruck um, um Datenintegrität und Manipulationssicherheit sicherzustellen.
In Python können wir die Hashlib-Bibliothek verwenden, um den MD5-Verschlüsselungsalgorithmus zu implementieren. Das Folgende ist ein Beispielcode:
import hashlib def md5_encrypt(data): md5 = hashlib.md5() md5.update(data.encode(encoding='utf-8')) encrypt_data = md5.hexdigest() return encrypt_data # 测试示例 data = 'hello world' encrypted_data = md5_encrypt(data) print("加密后的数据:", encrypted_data)
Laufergebnisse:
加密后的数据: 5eb63bbbe01eeed093cb22bb8f5acdc3
2. AES-Verschlüsselungsalgorithmus
AES (Advanced Encryption Standard) ist ein fortschrittlicher Verschlüsselungsstandard, der in verschiedenen Verschlüsselungsszenarien weit verbreitet ist. Es verwendet eine symmetrische Schlüsselverschlüsselung, um schnelle und sichere Ver- und Entschlüsselungsvorgänge für Daten durchzuführen.
In Python können wir die Pycryptodome-Bibliothek verwenden, um den AES-Verschlüsselungsalgorithmus zu implementieren. Das Folgende ist ein Beispielcode:
from Crypto.Cipher import AES from Crypto.Random import get_random_bytes def aes_encrypt(data, key): cipher = AES.new(key, AES.MODE_EAX) nonce = cipher.nonce ciphertext, tag = cipher.encrypt_and_digest(data.encode()) encrypted_data = nonce + ciphertext + tag return encrypted_data def aes_decrypt(encrypted_data, key): nonce = encrypted_data[:16] ciphertext = encrypted_data[16:-16] tag = encrypted_data[-16:] cipher = AES.new(key, AES.MODE_EAX, nonce=nonce) data = cipher.decrypt_and_verify(ciphertext, tag) return data.decode() # 测试示例 data = 'hello world' key = get_random_bytes(16) encrypted_data = aes_encrypt(data, key) print("加密后的数据:", encrypted_data) decrypted_data = aes_decrypt(encrypted_data, key) print("解密后的数据:", decrypted_data)
Betriebsergebnisse:
解密后的数据: hello world
3. RSA-Verschlüsselungsalgorithmus
RSA (Rivest-Shamir-Adleman) ist ein asymmetrischer Verschlüsselungsalgorithmus, der häufig für Datenverschlüsselung und digitale Signaturen verwendet wird. Es verwendet zwei Schlüssel: Der öffentliche Schlüssel wird zum Verschlüsseln von Daten und der private Schlüssel zum Entschlüsseln von Daten verwendet.
In Python können wir die Kryptografiebibliothek verwenden, um den RSA-Verschlüsselungsalgorithmus zu implementieren. Das Folgende ist ein Beispielcode:
from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives.asymmetric import rsa, padding from cryptography.hazmat.backends import default_backend def rsa_encrypt(data, public_key): public_key = serialization.load_pem_public_key(public_key, backend=default_backend()) encrypted_data = public_key.encrypt(data.encode(), padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)) return encrypted_data def rsa_decrypt(encrypted_data, private_key): private_key = serialization.load_pem_private_key(private_key, password=None, backend=default_backend()) decrypted_data = private_key.decrypt(encrypted_data, padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)) return decrypted_data.decode() # 测试示例 data = 'hello world' private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048, backend=default_backend()) private_pem = private_key.private_bytes(encoding=serialization.Encoding.PEM, format=serialization.PrivateFormat.PKCS8, encryption_algorithm=serialization.NoEncryption()) public_key = private_key.public_key() public_pem = public_key.public_bytes(encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo) encrypted_data = rsa_encrypt(data, public_pem) print("加密后的数据:", encrypted_data) decrypted_data = rsa_decrypt(encrypted_data, private_pem) print("解密后的数据:", decrypted_data)
Laufergebnis:
解密后的数据: hello world
Anhand des obigen Beispielcodes können wir sehen, wie verschiedene Verschlüsselungsalgorithmen zum Ver- und Entschlüsseln von Daten in Python verwendet werden. Durch die Wahl eines geeigneten Verschlüsselungsalgorithmus und einer geeigneten Schlüssellänge sowie die Einhaltung sicherer Codierungspraktiken wird die Vertraulichkeit und Integrität Ihrer Daten gewährleistet. Bitte beachten Sie, dass der Beispielcode in diesem Artikel nur als Referenz dient. Bei der tatsächlichen Anwendung müssen Details wie Schlüsselverwaltung und Datenübertragungssicherheit berücksichtigt werden.
Das obige ist der detaillierte Inhalt vonSo verschlüsseln und entschlüsseln Sie Daten in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!