![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
|
![]() |
#1 |
Hero
![]() Registriert seit: 08.04.2003
Beiträge: 821
|
![]() Hi, ich hab da ein kleines Problem: Die Kurzfassung: Ich muss ein Passwort verschlüsselt abspeichern und natürlich später wieder verifizieren können. Das ganze geschieht mit MD5 und ich habe es wie folgt gelöst:
Code:
String s = txtInput.getText(); try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(s.getBytes()); byte[] sbe = md.digest(); pw = sbe; //globale Variable monitor.append(Integer.toString(sbe.hashCode())+"\n"); //Verschl. PW in ein Textfeld schreiben txtEncrypted.setText(sbe.toString()); } catch (NoSuchAlgorithmException ex) {} Das Überprüfen funktioniert prinzipiell auch, wenn ich byte[] pw hernehme und das "neue" damit zu überprüfende Passwort auch ein byte[] ist (b2 is das zu überprüfende Passwort): Code:
try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(txtCompare.getText().getBytes()); byte[] b2 = md.digest(); if(md.isEqual(pw,b2)) { monitor.append("Bingo!\n"); } else { monitor.append("Leider nein...\n"); } } catch (NoSuchAlgorithmException ex) {} String string = pw.toString(); und byte[] b = pw.getBytes(); funktioniert der Vergleich "if(md.isEqual(b,b2))" plötzlich nicht mehr. Ich hoffe, meine Schilderung ist nachvollziehbar?! ![]() Falls mir wer helfen kann, wäre das wirklich supertoll! Danke schon mal und liebe Grüße, bs |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|