SHA-1 String Vergleich klappt nicht beim Passwortvergleich

B

berndschneider

Neues Mitglied
0
Hallo Leute,

ich lasse einen String, der mit SHA-1 gehasht wird, in eine Datei schreiben. Damit soll ein Passwort gesetzt werden. Die Methode passwortSchreiben(String EINGABE) beschreibt dies. Mit der MEthode String passwortAuslesen() wird der Inhalt der Passwortdatei in einem String zurückgegebe.

Wenn ich nun das korrekte PW (temp) eingebe(siehe Methodenaufruf) und mit dem aus der Datei vergleiche, sind diese nicht gleich. ich habe mir beide Strings ausgeben lassen und sie sind auch wirklich unterschiedlich, nur weiß ich nicht warum.

void passwortSchreiben(String EINGABE) throws NoSuchAlgorithmException{
MessageDigest digester = MessageDigest.getInstance("SHA-1");
digester.update(EINGABE.getBytes());
byte[] digest = digester.digest();



try {

FileOutputStream fos = context.openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(digest);
//fos.write(EINGABE.getBytes());
fos.close();
Toast.makeText(context, "Passwort erfolgreich erneuert!" , Toast.LENGTH_SHORT).show();
//Toast.makeText(b.getContext(), "Passwort erfolgreich erneuert!" , Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}

}



String passwortAuslesen() {

FileInputStream fin = null;

try {
fin = context.openFileInput(FILENAME);
byte[] dataArray = new byte[fin.available()];
while (fin.read(dataArray) != -1) {
collected = new String(dataArray);//fin.read();

}
read=true;
} catch (FileNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} finally {
if(fin!=null){
try {
fin.close();
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}}
if(read)
return collected;
else
return "LESEFEHLER";
}




AUFRUF DER METHODEN

try {
digester = MessageDigest.getInstance("SHA-1");
}
catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
digester.update(temp.getBytes());
digest = digester.digest();


if(passwortAuslesen().equals(digest.toString()))
{ treffer=true; }

}
 

Ähnliche Themen

S
  • Sempervivum
Antworten
2
Aufrufe
607
Sempervivum
S
SaniMatthias
Antworten
19
Aufrufe
955
swa00
swa00
B
Antworten
4
Aufrufe
487
bb321
B
Zurück
Oben Unten