verschleiern oder verschlüsseln einige nur-text-Daten in PHP

Brauche ich, um zu verschleiern oder verschlüsseln einige nur-text-Daten in mein php 5.2 Anwendung.

Ich würde es vorziehen, eine Lösung, die hätten input string und output-string behalten die gleiche Länge.

Diese muss nicht extrem stark, da gibt es zahlreiche andere Schichten der Sicherheit im Ort. Starke wäre gut, aber dies wird nur halten Programmierer/dba/Unterstützung von Menschen/etc versehentlich Lesen Sie den text aus der Datenbank.

wichtige überlegungen

  • BEARBEITEN HINZUFÜGEN ich würde es vorziehen, eine Lösung, die hätten input string und output-string behalten die gleiche Länge.
  • nur string text wird verschleiert/verschlüsselt für die Speicherung in einer Datenbank
  • die php-Anwendung benötigen, um zu verschleiern/verschlüsseln Sie die Daten, bevor das speichern der Datenbank und müssen un-verschleiern/dencrypt folgenden der Datenbank Lesen
  • dies ist eine änderung an einer vorhandenen Anwendung
  • nur einige Spalten müssen verschleiert/verschlüsselt
  • nur einige Zeilen müssen verschleiert/verschlüsselt, basierend auf einem Type-Feld
  • es gibt nur ein paar laden/speichern Punkte zu behandeln
  • max-Spalte die Größe ist bereits bestimmt für einige Felder, aber nicht für andere, aber ich bevorzuge eine Lösung innerhalb der bestehenden Größe der Felder beschränkt
  • BEARBEITEN, HINZUFÜGEN der Schlüssel wird sein, wahrscheinlich eine Zusammensetzung einige Primärschlüssel info +unveränderbare Felder

hier ist ein Beispiel-Datenbank-Tabelle und Daten:

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

Würde die Anwendung laden und anzeigen von Zeilen 1,2 und 4 in der Regel. Allerdings wäre es bedingt (basierend auf den row-Typ) Griff den text in der Zeile 3 mit diesem verschleiern/verschlüsseln und un-verschleiern/entschlüsseln Logik.

Kann jemand liefern verschleiern/verschlüsseln und un-verschleiern/decrypt Funktionen, code, links, und oder Zeiger, die helfen würde, hier?

Dank!

BEARBEITEN
Ich mag das einfache base64-Codierung Idee, aber gibt es eine Methode, damit die Daten innerhalb einer festen Größe. Alle aufgeführten Methoden haben sich bisher der Ausgangswert größer als der Eingangswert. Dies wird ein problem sein für einige Spalten, wo der Benutzer eingeben kann in 50 Zeichen lang sein und es ist gespeichert in einem varchar(50) Spalte.

Es gibt einen großen Unterschied zwischen Kodierung und Verschlüsselung so verstehe ich nicht, warum Sie behandeln Sie wie ähnliche Prozesse. Müssen Sie zuerst einige Fragen beantworten: wird die Daten vertraulich sind oder nicht, tun, die Entwickler haben direkten Zugriff auf die Datenbank, wenn Sie akzeptieren können, dass ein paar Entwickler können entschlüsseln der Nachrichten, wie ist dieser Schutz sinnvoll. Wenn Sie mit base64 kodiert ist, jeder kann den export der Liste aus und decodieren.
M., die gegeben Anforderungen für dieses Projekt sind, speichern Sie diese als Klartext in der Datenbank, und beschränken Benutzer Zugriff darauf über die Anwendung. Ich werde darüber hinaus gehen, mit einem minimalen/einfache verschleiern/verschlüsseln-Funktion, da ich nicht wollen, zu "sehen" die Daten, wenn ich auf dem system arbeiten. Mit vollem Zugriff auf source-code einer der anderen Entwickler werden in der Lage sein, um herauszufinden, wie es kodiert wird, und Sie können, wenn Sie wollen, aber Sie wollen wahrscheinlich nicht zu. Wenn Sie das tun, dann kein grosses problem, wir sind nicht die Speicherung von top-secret-Daten.
Wenn Sie nicht Vertrauen können, die Menschen, die haben direkten Zugang zu Ihren Systemen & deine DB muss man entweder restriktiver sein, wer von Ihnen auf die Systeme oder verschiedene Menschen.
McSomething, ich will nicht, um die Daten zu sehen, wenn ich auf dem system arbeiten, und ich traue mich.
Brauchen Sie die Lösung einfach sein, un-lesbar oder un-hackable.

InformationsquelleAutor KM. | 2009-06-25

Schreibe einen Kommentar