# CSV Datein einer HSQLDB verschlüsseln



## xanadoo (12. Juli 2007)

Hallo zusammen,
in einer Applikation verwende ich eine HSQLDB (standalone), also auf jedem Client ist die DB vorhanden.
Das Problem ist nun, dass der User einfach die *.csv Datei öffnen und mit jedem Editor im Klartext bearbeiten kann, was ich vermeiden möchte.
Gibt es eine Möglichkeit, die Daten in dieser Datei verschlüsselt zu speichern, und erst beim erzeugen der DB zu entschlüsseln?

Ich habe mal gehört, dass so was mit HSQLDB nicht gehen soll, da diese direkt im Klartext auf die *.csv Datein zugreifen können müsse.

Weiss jemand ob das stimmt oder ob es eine Lösung für mein Problem gibt?

Danke und Grus
Xanadoo


----------



## zerix (12. Juli 2007)

Hallo,

du könntest die Dateien mit Java verschlüsseln und kurz bevor drauf zugegriffen wird wieder entschlüsseln.

http://www.tutorials.de/forum/java/212543-verschluesselung.html


MFG

zEriX


----------



## dto (12. Juli 2007)

Warum kodierst du die Daten nicht schon beim insert/update und entschlüsselst sie beim select?

oder versteh ich da was falsch


----------



## xanadoo (12. Juli 2007)

In der Datenbank selbst dürfen die Daten schon im Klartext stehen, denn die ist readonly und kann somit nur ausgelesen aber nicht geändert werden.
Das Problem sind die Daten in den CSV Dateien, diese dürften nicht im Klartext stehen.
Denn aus diesen CSV Dateien wird die HSQLDB ja bei jedem Programmstart in den Arbeitsspeicher geladen.

Das ver- und anschliessende entschlüsseln der Daten selbst ist eigentlich auch nicht das Problem, es geht mehr um die Frage, ob HSQLDB wirklich nur Daten aus einem File im Klartext lesen kann um die Tabellen aufzubauen.
Oder könnte man eventuell den Datenstream aus dem File abfangen, entschlüsseln und so an HSQLDB weiterleiten?
So dass es zu keinem Zeitpunkt ein File gibt, welches die Daten im Klartext enthält.

Natürlich könnte man schon die Daten verschlüsselt in eine File speichern, kurz vor der Erstellung der Tabellen die Daten entschlüsseln und in ein 2. File speichern welches sofort nach der Erzeugung der Tabellen wieder gelöscht wird.
Jedoch fände ich es ohne diesen Umweg natürlich schöner

Xanadoo


----------

