Vergleichen von verschlüsselten Passwort

Status
Nicht offen für weitere Antworten.

Sensewell

Mitglied
Hallo Leute und frohen Feierabend,

ich muss ihn mir noch erarbeiten und hoffe auf eure Hilfe. Ich bin gerade dran eine Projektarbeit zu schreiben. Nun habe ich im Moment ein problem beim Login. Der uSer gibt einen Alias ein und ein passwort. Das passwort wurde davor in einer datei verschlüsselt gespeichert (DES) und nun wird das eingebene passwort ebenfalls entschlüsselt und mit dem inhalt der datei geprüft. soweit so gut. nun hab ich die passwörter in der methode verschlüsselung s1 und s2 genannt. nun hab ich eine weitere Klasse geschrieben die mir entweder false oder true zurück gibt. eben wenn sie überein stimmen oder nicht. nun möchte ich diese vergleichsklasse in mein menü einbinden. und bei gleichheit erfolgreich eingeloggt anzeigen lassen und weiterfahren und bei false ben die eingabe wiederholen. Ich weiss nur nicht wie ich die Vergleichsmethode aufrufe. nun mal die Klassen:

Code:
static void	encodePw(Konto pKonto, String eingabe) throws Exception {
		ByteArrayOutputStream out1 = new ByteArrayOutputStream();
		Verschluesselung.verschluesseln(pKonto.getKontopw().getBytes(), out1,
				"HansimGl");
		 s1 = new BASE64Encoder().encode(out1.toByteArray());
		ByteArrayOutputStream out2 = new ByteArrayOutputStream();
		Verschluesselung.verschluesseln(eingabe.getBytes(), out2,
				"HansimGl");
		 s2 = new BASE64Encoder().encode(out2.toByteArray());
	}


und die vergleichsklasse:


Code:
public static boolean checkPw(){
		if(s1.equals(s2)){
		return true;
		}
		else{
		return false;
		}
	}

angewandt soll es in der Main. ich komm einfach nicht drauf. Vielen dank schon mal im Voraus.


Grüße,

Sensewell


EDIT: private static String s1 = null, s2 = null;
wird ganz oben deklariert.
 
suchst du sowas?
Code:
String s1 = getStoredPassword();
do{
  String s2 = getUserPassword();
}while(!checkPw(s1, s2));
 
kleiner Hinweis:
das Verschlüsseln des Passwortes mit DES ist nicht der übliche Weg wie man sowas macht (die Nachteile sind ja deutlich). Wesentlich besser ist es, wenn du einen Hashingalgorithmus benutzt, d.h. du speicherst den Hashwert in der Datei und vergleichst diesen Wert dann später mit dem Hashwert des gerade eingebenen Passwortes.

Wie das geht findet man hier im Forum im FAQ Bereich, als Algorithmus solltest du einen nehmen der noch als sicher gilt, also nicht md5 oder sha-1 sondern sha-256 oder besser.
 
Ich möchte trotzdem die DES verschlüsselung nehmen. Die Sicherheit ist dabei erst mal zweitrangig. Gibt es denn eine weise wie ich in der Main die Methode aufrufen kann und das eingegebene Passwort mit dem dateipw vergleichen kann?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben