Hallo Forum,
ich beschäftige mich erstmals mit dem Thema Verschlüsselung mit mcrypt (PHP). Als Anforderung ist folgendes gesetzt:
- 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.
- 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'");
?>
- Die verschlüsselte Datei ist nun downloadbar.
Schon mit erledigt.
- 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...)