Mit PHP verschlüsselte TXT-Datei mit Phyton entschlüsseln
Verfasst: Mittwoch 22. März 2023, 16:29
Hallo zusammen,
ich bin gerade dabei mithilfe von ChatGPT im Alter noch etwas programmieren zu lernen.
Ich habe einen PHP-Code, welcher drei Daten mit Hilfe eines Keys in OpenSSL AES-256-CBC verschlüsselt und in einer txt-Datei speichert.
Welche sich auch mit einer PHP-Datei einfach wieder entschlüsseln und anzeigen lässt.
Ich benötige dieses aber in Python, deshalb habe ich mir etwas von ChatGPT helfen lassen und den mittlerweile mind. 50 Code, welche aber immer konstant Fehler ausspucken. Ich verstehe ja, dass Python und PHP komplett unterschiedliche Programmiersprachen sind, aber irgendwie muss das ganze ja realisierbar sein?
Fehler dieses Mal:
Ich hoffe hier kann mir jemand etwas Licht ins Dunkle bringen!
Liebe Grüße
Chris
ich bin gerade dabei mithilfe von ChatGPT im Alter noch etwas programmieren zu lernen.
Ich habe einen PHP-Code, welcher drei Daten mit Hilfe eines Keys in OpenSSL AES-256-CBC verschlüsselt und in einer txt-Datei speichert.
Code: Alles auswählen
<?php
// Daten aus dem Formular abrufen
$start = $_POST['start'];
$end = $_POST['end'];
$password = $_POST['password'];
// Festlegen des Verschlüsselungsschlüssels
$key = 'mein-geheimer-schluessel';
// Verschlüsseln der Daten mit OpenSSL
$encrypted_start = openssl_encrypt($start, 'AES-256-CBC', $key, 0, '0123456789012345');
$encrypted_end = openssl_encrypt($end, 'AES-256-CBC', $key, 0, '0123456789012345');
$encrypted_password = openssl_encrypt($passport, 'AES-256-CBC', $key, 0, '0123456789012345');
// Erstellen einer Datei
$file = fopen('key.cck', 'w');
// Schreiben der verschlüsselten Daten in die Datei
fwrite($file, $encrypted_start . "\n");
fwrite($file, $encrypted_end . "\n");
fwrite($file, $encrypted_password . "\n");
// Schließen der Datei
fclose($file);
?>
Code: Alles auswählen
<?php
// Festlegen des Verschlüsselungsschlüssels
$key = 'mein-geheimer-schluessel';
// Lesen der verschlüsselten Daten aus der Datei
$file = fopen('meine_daten.txt', 'r');
$encrypted_start = rtrim(fgets($file), "\n");
$encrypted_end = rtrim(fgets($file), "\n");
$encrypted_password = rtrim(fgets($file), "\n");
// Schließen der Datei
fclose($file);
// Entschlüsseln der Daten mit OpenSSL
$start = openssl_decrypt($encrypted_start, 'AES-256-CBC', $key, 0, '0123456789012345');
$end = openssl_decrypt($encrypted_end, 'AES-256-CBC', $key, 0, '0123456789012345');
$password = openssl_decrypt($encrypted_passport, 'AES-256-CBC', $key, 0, '0123456789012345');
// Ausgabe der entschlüsselten Daten
echo "Startzeit: " . $start . "<br>";
echo "Endzeit: " . $end . "<br>";
echo "Password: " . $password . "<br>";
?>
Code: Alles auswählen
import base64
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
# Festlegen des Verschlüsselungsschlüssels
key = b'mein-geheimer-schluessel'
# Lesen der verschlüsselten Daten aus der Datei
with open('meine_daten.txt', 'r') as f:
encrypted_start = base64.b64decode(f.readline())
encrypted_end = base64.b64decode(f.readline())
encrypted_password = base64.b64decode(f.readline())
# Entschlüsseln der Daten mit OpenSSL
cipher = Cipher(algorithms.AES(key), modes.CBC(b'0123456789012345'))
decryptor = cipher.decryptor()
print(decryptor)
start = decryptor.update(encrypted_start)
end = decryptor.update(encrypted_end)
password = decryptor.update(encrypted_passport)
# Ausgabe der entschlüsselten Daten
print("Startzeit: " + start)
print("Endzeit: " + end)
print("Password: " + password)
Code: Alles auswählen
"C:\Users\Chris\PycharmProjects\Enschluessler\venv\Scripts\python.exe" "C:\Users\Chris\PycharmProjects\Enschluessler\main.py"
<cryptography.hazmat.primitives.ciphers.base._CipherContext object at 0x000002A159A73A90>
Traceback (most recent call last):
File "C:\Users\Chris\PycharmProjects\Enschluessler\main.py", line 24, in <module>
print("Startzeit: " + start)
~~~~~~~~~~~~~~^~~~~~~
TypeError: can only concatenate str (not "bytes") to str
Process finished with exit code 1
Liebe Grüße
Chris