Ich versuche, ein hochgeladenes Bild zu nehmen, das Bild zu verschlüsseln, speichern Sie es in MySQL, entschlüsseln Sie es für die Anzeige, wenn eine autorisierte Person anfordert, es zu sehen.Mit PHP zu verschlüsseln Bild für die Speicherung in MySQL BLOB dann entschlüsseln und drucken
Hier ist, wie ich zur Zeit Verschlüsselung:
$image = addslashes(file_get_contents($_FILES['users_image']['tmp_name']));
$enc_image = encrypt($image, "long secret random key");
Dann speichere ich die $enc_image
in einem MySQL-BLOB-Feld. Wenn ich versuche, es zu entschlüsseln und drucken geht in etwa so:
$img = decrypt($rec['file'], "long secret random key");
echo '<img src="data:image/jpeg;base64,'.base64_encode($img).'"/>';
Ich verwende diesen Code aus this Stackoverflow answer, und ich bin mit dem entschlüsselten Base64-Text zu sehen, in meiner Ausgabe, aber es funktioniert nicht Anzeige über HTML. Hier ist ein Beispiel für einen verschlüsselten Bildversuch: https://pastebin.com/miDCP3Gz
HINWEIS: Mein "langer geheimer Zufallsschlüssel" enthält eine zufällige zufällige Hash-Hash, aber ich bin sicher, dass ich mit der gleichen Zeichenfolge verschlüsseln und entschlüsseln.
Eine Idee, warum dies nicht korrekt angezeigt würde?
Wenn ich das entferne, fügt es nicht einmal richtig in die Datenbank ein. – Bing
Was ist das Apache-Fehlerprotokoll oder BD-Fehlerprotokoll? Was ist Ihre Verschlüsselungsbibliothek oder -methode? –