MySQL Datenbank-Settings speichern

hans-sonny

Bekanntes Mitglied
Hi leute,

ich möchte gerne eine Gui für eine Datenbank programmieren.

habe jetzt aber ein paar grundsätzliche fragen.


Das programm soll später variabel sein d.h. ich möchte die Verbindungsdaten nicht in variablen speichern sondern gerne in einer datei oder ini oder sowas ..

also host, user, datenbankname, passwort

sollen in einer datei gespeichert werden damit sie über die gui nachher bearbeitet werden können


was bietet sich da an? ... würde gerne alles in einer datei wie settings.ini oder sowas speichern



---> sicherheitstechnisch ist das irrelevant das wird eine einfache desktop anwendung, soll aber eben die möglichkeit haben die datenbank zu wechseln
 
Properties-Dateien sind in Java der Standardweg für sowas. Gibt es in einer key-Value Ausprägung
Code:
database.pw=MyPw
oder in einer XML Ausprägung. Was halt besser gefällt (ich denke bei Dir eher die erste Variante).
Hier die API-Doku zur enstpr. Klasse: Properties (Java 2 Platform SE 5.0)
 
ok das ist interessant kennst du dafür ein tutorial?

kann ich die properties auch in packes legen?

hab davon wirklich noch kein plan ...


wäre das ein gutes beispiel:

Java Properties file examples



was ist da der unterschied wie wenn ich es in eine txt schreiben und lesen würde?

sind die properties irgendwie schon mit nem hasverfahren geschrieben oder ?
 
Zuletzt bearbeitet:
ok das ist interessant kennst du dafür ein tutorial?
Nein, könntest Du im Zweifel auch mal selbst per google suchen. Lohnt aber nicht, der Umgang damit ist soo leicht, dafür braucht es kein Tutorial. Die API-Doku reicht aus. DIE hatte ich Dir bereits verlinkt. Schau Dir mal die Methoden an. Dann sollte es klar sein.

kann ich die properties auch in packes legen?
Ja, die können praktisch überall liegen. Die load-Methode erwartet einen InputStream. Woher der kommt ist wahlfrei.

Ok, dann erklär ich es halt doch, Du Faulpelz! 😀
Zunächst deine Properties-Datei:
Code:
db.pw=passwort
db.user=user
Dann der Java-Code
Java:
// Properties aus dem Classpath laden (Datei kann sogar mit in ein jar verpackt werden)
InputStream propIn = getClass().getResourceAsStream("/dein/package/textDatei.properties");
// Oder doch lieber aus einer Datei?
propIn = new BufferedInputStream(new FileInputStream("/Pdad/zur/textDatei.properties");

Properties props = new Properties();
props.load(propIn);

String dbPassword = props.getProperty("db.pw");
 
ich hatte schon ein beispiel gefunden^^ ...

aber dennoch danke


ja ich weiß wie google funzt 😛


zu meiner frage aus dem post oben drüber

was ist der unterschied zwischen einer properties datei und einer txt datei?


wird da mit hashverfahren reingeschrieben oder wie funzt das?
 
Google bitte nach "Was ist ein Hashverfahren".

Da gibt es kein Unterschied zwischen txt und props.
 
was gäbe es für möglichkeiten die datei zu verschlüsseln?
---> sicherheitstechnisch ist das irrelevant das wird eine einfache desktop anwendung, soll aber eben die möglichkeit haben die datenbank zu wechseln
Ah, jetzt doch Sicherheitsbedenken😉? Es gibt keine echte Verschlüsselungsmöglichkeit. Das Problem ist, dass das Programm selbst in der Lage sein muss, die Datei zu entschlüsseln. Dafür musst Du dort den Schlüssel hinterlegen. D.h. jeder etwas technisch versierte Nutzer ist in der Lage, sich diesen Schlüssel zu extrahieren. Was aber geht ist, dass man nicht gleich beim ersten Lesen der Datei das Datenbankpasswort erkennt. Das Stichwort dazu heißt Obfuscation. Wirklich sicher bist Du bei einer Desktopanwendung nur, wenn Du das Passwort vom Nutzer abfragst.
 

Neue Themen


Zurück
Oben