Jörg Reinholz: Verständnissfrage zur Verschlüsselung

Beitrag lesen

Hallo Forum,

ich beschäftige mich erstmals mit dem Thema Verschlüsselung mit mcrypt (PHP). Als Anforderung ist folgendes gesetzt:

  1. PHP stellt Daten zusammen und speichert es in einer Datei auf dem Server.

Wozu erst im Klartext speichern? Das könnte die Sicherheit gefährden.

  1. Diese Datei soll unmittelbar nach der Erstellung verschlüsselt ( mcrypt(blowfish o.ä.) ) werden.

Hier ein Beispiel für die symmetrische Verschlüsselung mit einem Passwort:

<?php  
$data="Hier stehen Seine Daten."; # Woher auch immer  
#$password=$_POST['password']; # Woher auch immer  
$password="GeHeim";  
header ('Content-Type: text/plain');  
header('Last-Modified: '.date('D, d M Y H:i:s T'));  
header('Expires: 0');  
header('Pragma: no-cache');  
header('Cache-Control: private, no-store, no-cache, must-revalidate, max-age=0');  
header('Cache-Control: post-check=0, pre-check=0', false);  
header('Content-Disposition: attachment; filename="file.enc"');  
$sys  
system("echo '$data' | openssl enc -aes-256-cbc -a -salt -pass pass:'$password'");  
?>
  1. Die verschlüsselte Datei ist nun downloadbar.

Schon mit erledigt.

  1. Die heruntergeladene Datei soll nun mit Windows-Tolls zur Ver-/Entschlüsselung entschlüsselbar sein.

Sdjes nachodiza problem! - Aber wenn openssl installiert ist kann man es mit:

~> openssl enc -d -aes-256-cbc -a -in file.enc
oder
-> openssl enc -d -aes-256-cbc -a -in file.enc > out.file

entschlüsseln. Das Passwort wird abgefragt. Die Verschlüsselung kannst Du übrigens frei wählen.

Weiterführend:

Windows-Software: (Linux Benutzer brauchen OpenSSL oft nicht mehr mal nachinstallieren...)

Jörg Reinholz