1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

SHA-1 String Vergleich klappt nicht beim Passwortvergleich

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von berndschneider, 16.04.2012.

  1. berndschneider, 16.04.2012 #1
    berndschneider

    berndschneider Threadstarter Neuer Benutzer

    Beiträge:
    19
    Erhaltene Danke:
    0
    Registriert seit:
    19.03.2012
    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; }

    }
     

Diese Seite empfehlen