Verschleiern oder verschlüsseln Sie einige Klartextdaten in PHP

Ich muss einige Klartextdaten in meiner PHP 5.2-Anwendung verschleiern oder verschlüsseln.

Ich würde eine Lösung bevorzugen, bei der Eingabe- und Ausgabezeichenfolge dieselbe Länge beibehalten.

Dies muss nicht extrem stark sein, da zahlreiche andere Sicherheitsebenen vorhanden sind. Stark wäre gut, aber dies verhindert, dass Programmierer / dba / support people / etc versehentlich den Text aus der Datenbank lesen.

wichtige Überlegungen

BEARBEITEN HINZUFÜGEN Ich würde eine Lösung bevorzugen, bei der Eingabe- und Ausgabezeichenfolge dieselbe Länge beibehalten.Nur der Text einer Zeichenfolge wird für die Speicherung in einer Datenbank verschleiert / verschlüsseltDie PHP-Anwendung muss die Daten vor dem Speichern der Datenbank verschleiern / verschlüsseln und nach dem Lesen der Datenbank die Verschleierung aufheben / dencryptierenDies ist eine Änderung an einer vorhandenen Anwendungnur einige Spalten müssen verschleiert / verschlüsselt werdenEs müssen nur einige Zeilen basierend auf einem Typfeld verschleiert / verschlüsselt werdenEs sind nur wenige Lade- / Speicherpunkte zu handhabenDie maximale Spaltengröße ist für einige Felder bereits festgelegt, für andere jedoch nicht. Ich würde jedoch eine Lösung bevorzugen, die innerhalb der vorhandenen Größe der eingeschränkten Felder funktioniertBEARBEITEN, HINZUFÜGEN Der Schlüssel wird wahrscheinlich aus einigen Primärschlüssel-Informationen und nicht bearbeitbaren Feldern zusammengesetzt sein

Hier ist ein Beispiel für eine Datenbanktabelle und Daten:

<code>int           char(1) varchar(24)              int      date
MyPrimaryKey  RowType UserText                 UserNo   DateChange
------------  ------- ------------------------ -------- ----------------
1             N       nothing special here     43       6/20/2009 12:11am
2             N       same thing, wow!         78       6/23/2009 1:03pm
3             S       fBJKg}.jkjWfF78dlg@45kjg 43       6/25/2009 6:45am
4             N       same old, same old text  21       6/25/2009 8:11am
</code>

Die Anwendung würde normalerweise die Zeilen 1, 2 und 4 laden und anzeigen. Es würde jedoch bedingt (basierend auf dem Zeilentyp) den Text in Zeile 3 mit dieser Logik zum Verschleiern / Verschlüsseln und Entschlüsseln / Entschlüsseln behandeln.

Kann jemand Code, Links und / oder Zeiger für Funktionen bereitstellen, die hier hilfreich sind?

Vielen Dank!

BEARBEITEN
Ich mag die einfache Base64-Codierungsidee, aber es gibt eine Methode, mit der die Daten innerhalb einer festen Größe gehalten werden können. Bei allen bisher aufgelisteten Methoden ist der Ausgabewert größer als der Eingabewert. Dies ist für einige Spalten problematisch, bei denen der Benutzer 50 Zeichen eingeben kann und diese in einer varchar (50) -Spalte gespeichert sind.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage