# Daten vergleichen



## JonnieWalker (23. Mrz 2010)

Hi Leute,

hat jemand eine Idee für mich wie ich es einrichten kann, dass ich mein benutzername und passwort aus meiner sql-db mit meinem fenster in java was ich erstellt habe abgleichen kann und dann eingelogt werde???

in dem java fenster befiden sich die zwei felder
benutzername:
passwort:


in der sql-db ist eine tabelle die heisst benutzer
gefüllt mit benutzername und passwort logischerweise

wie geht das ich denke mal so heftig kann das nicht sein.
eine idee brauch ich aber dringend


ich hab viel gesucht aber nur schrott gefunden:S
währe cool wenn jeman ein teilcode hat oder sowas


----------



## Foermchen82 (23. Mrz 2010)

Du hast recht. Das ist nicht so schwer:

Du lädst den DatenSatz mit dem Benutzernamen aus der DB und vergleichst dann das Passwort.

Optimalerweise ist dies natürlich nicht in KlarText sondern ein Hash. D.H. du vergleichst zwei Hashs mit einander,


----------



## JonnieWalker (23. Mrz 2010)

gibt es auch eine andere möglichkeit???
das soll nicht verschlüßelt sein einfach nur erstmal funktionieren

wäre echt hammer


----------



## Foermchen82 (23. Mrz 2010)

na dann vergleichst du einfach die Klartext-PW.


----------



## JonnieWalker (23. Mrz 2010)

ja aber wie:S
das ist ja mein problem 
ich weiss nicht wie ich anfangen soll:S

ich hole mir die daten aus der db alls array und will die in dem fenster abgleichen 
equals nimmt er nicht compareTo auch nicht kp.............


----------



## Murray (23. Mrz 2010)

Zeig mal den Code, den du schon hast.


----------



## JonnieWalker (23. Mrz 2010)

das ist die Methode

so ungefähr wird das doch gehen:


```
public void Login(){
            String passwort = "";
        if(BenutzerName.getText().isEmpty())
            BenutzerName.setBackground(Color.RED);
        if(Passwort.getPassword().length == 0)
            Passwort.setBackground(Color.RED);
        else {
            for(int i=0;i<Passwort.getPassword().length;i++) {
                try {
                    passwort += Passwort.getPassword()[i];
                }
                catch (NullPointerException err) {
                }
            }
        }

     }
```


----------



## Foermchen82 (23. Mrz 2010)

Du musst doch das Passwort nicht Zeichenweise vergleichen. einfach string1.compareTo(string2). Das reicht doch!


----------



## Murray (23. Mrz 2010)

Das ist doch schon mal ein Anfang; so hast du das eingegebene Passwort in einem String. Den try/catch-Block mit der NullPointerException solltest du allerdings entfernen.

Um jetzt die von dir bereits erwähnte Methoden equals oder compareTo ins Spiel zu bringen, müsstest du ja noch die zu vergleichenden Daten aus der DB holen - wie passiert das denn?


----------



## Murray (23. Mrz 2010)

Foermchen82 hat gesagt.:


> Du musst doch das Passwort nicht Zeichenweise vergleichen. einfach string1.compareTo(string2). Das reicht doch!


Das passiert  im geposteten Code ja auch nicht - obwohl mancher das aus Sicherheitsgründen sicher machen würde; ich denke aber, dass das hier zu weit führt.


----------



## JonnieWalker (23. Mrz 2010)

genau das ist mir nicht klar:S

ich hab eine ArrayList<Benutzer> retBenutzer
dort hab ich alle datensätze also passwort und benutzername abgelegt

hmm in dem fenster hab ich den verweiss drauf gemacht
es gibt in der db auch nur diese zwei felder
aber kp wie das geht
:S:S:S:SS::SS:S:S:S:S


----------

