Hallo cross,
eine Verschlüsselung in der DB, die Du mit PHP aufheben kannst, setzt voraus, dass das Passwort in deinem PHP Code hinterlegt ist. Ein Hacker, der deine DB absaugen kann, dürfte auch deinen PHP Code auslesen können.
Wenn auf dem PDF persönliche Daten notiert sind, führst Du bereits eine Verarbeitung personenbezogener Daten durch. D.h. wenn Du das PDF speicherst, unterliegst Du bereits der DSGVO. D.h. die Speicherung der Daten als codierter Blob oder als Klartextfeld ändert nichts am DSGVO-Status.
Aus meiner Sicht ist die Verschlüsselung der Daten in der DB unnötig. Wer deine regulären Zugriffsmechanismen aushebeln kann, wird auch die Verschlüsselung umgehen können. Du solltest schauen, ob Du in der DB einen Mechanismus zur verschlüsselten Speicherung hast, damit ein geklautes DB Backup kein Loch aufreißt. Aber gegenüber einem autorisierten Client zu verschlüsseln (also PHP), nützt mMn wenig.
Aber wenn Du unbedingt willst... Denkbar wäre der Einsatz eines externen Verschlüsselungsprogramms, das Du aus Excel heraus über das WShell-Objekt aufrufst (wenn ich mich recht entsinne). In PHP kannst Du dann mit shell execute die Entschlüsselung aufrufen. Den verschlüsselten Datenblock kannst Du in einem binary-Feld ablegen oder base64 codieren.
Rolf
sumpsi - posui - obstruxi