Passwort hash

Status
Nicht offen für weitere Antworten.

Foermchen82

Top Contributor
Hallo zusammen.

Ich hab folgendes Problem:

ich speichere mir passwörter in einer OracleDB, die ich vorher in einen Hash umgewandelt habe. Das Datenbankspalte für das passwort ist ein varchar(64).

folgenden algorithmus verwende ich:

Code:
MessageDigest crypter = MessageDigest.getInstance("SHA-512");
			byte[] bytes = crypter.digest((uncryptedPassword + userId).getBytes());
			result = new String(bytes);

soweit so gut.

Jetzt erzeuge ich mir jedoch in der anwendung den hash nocheinmal und vergleiche ihn mit dem DB-wert, den ich aus der DB lade und ich bekomme einen etwas anderen wert. Wieso????
 

HoaX

Top Contributor
außerdem solltest du nicht einfach nen neuen String aus den bytes erstellen sondern die bytes lieber als hex oder base64 codieren. die bytes die du hast müssen schließlich keinen sinn übergeben in jedem charset. oder nen blob statt string in der datenbank.

schau dir am einfachsten mal commons-codecs DigestUtil an.
 

Foermchen82

Top Contributor
ok das mit der Hex-Codierung des Byte[] macht sinn. Dazu hab ich auch nen Beispiel gefunden:

Code:
    public static String asHex(byte buf[])
    {
            StringBuffer strbuf = new StringBuffer(buf.length * 2);

            for(int i=0; i< buf.length; i++)
            {
                    if(((int) buf[i] & 0xff) < 0x10)
                            strbuf.append("0");
                    strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
            }
            return strbuf.toString();
    }

kann mir das aber mal bitte jemand erklären??

alles was ich da verstehe ist, dass man über das byte[] iteriert. nur was heist der rest??
 

Foermchen82

Top Contributor
ok das mit der Hex-Codierung des Byte[] macht sinn. Dazu hab ich auch nen Beispiel gefunden:

Code:
    public static String asHex(byte buf[])
    {
            StringBuffer strbuf = new StringBuffer(buf.length * 2);

            for(int i=0; i< buf.length; i++)
            {
                    if(((int) buf[i] & 0xff) < 0x10)
                            strbuf.append("0");
                    strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
            }
            return strbuf.toString();
    }

kann mir das aber mal bitte jemand erklären??

alles was ich da verstehe ist, dass man über das byte[] iteriert. nur was heist der rest??
 

Foermchen82

Top Contributor
ok das mit der Hex-Codierung des Byte-array macht sinn. Dazu hab ich auch nen Beispiel gefunden:

Code:
    public static String asHex(byte buf[])
    {
            StringBuffer strbuf = new StringBuffer(buf.length * 2);

            for(int i=0; i< buf.length; i++)
            {
                    if(((int) buf[i] & 0xff) < 0x10)
                            strbuf.append("0");
                    strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
            }
            return strbuf.toString();
    }

kann mir das aber mal bitte jemand erklären??

alles was ich da verstehe ist, dass man über das byte-array iteriert. nur was heist der rest??
 

HoaX

Top Contributor
das if schaut ob die zahl < 16 ist, denn dann ist die hex-formatierung ja nur einstellig. darum wird in dem fall eine "0" angehängt.
unf danach beim tostring die zahl als hex. erklärung der parameter findest du in der javadoc

aber wie ich sagte: DigestUtils ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Passwort Verschlüsselung hash Allgemeine Java-Themen 2
W Passwort Clientseitig sicher ablegen ohne Hash Allgemeine Java-Themen 2
Z Passwort Versuche speichern Allgemeine Java-Themen 8
Scream_ilias passwort meines pc per brute force methode knacken Allgemeine Java-Themen 4
J Passwort Manager Allgemeine Java-Themen 15
B Swing Hilfe bei Abfrage von Benutzernamen und Passwort Allgemeine Java-Themen 2
F Best Practice Passwort Recovery - Schulbeispiel Allgemeine Java-Themen 4
D Passwort verschlüsseln - Wo Allgemeine Java-Themen 2
O verschlüsseltes Passwort ablegen Allgemeine Java-Themen 12
G Unix Passwort mit Java ändern? Allgemeine Java-Themen 3
OnDemand Passwort entschlüsseln Allgemeine Java-Themen 8
S Random Passwort für den User + Hashen Allgemeine Java-Themen 6
DStrohma Passwort in Datei speichern - wie? Allgemeine Java-Themen 31
DStrohma Verschlüsselung: SALT aus Passwort generieren? Allgemeine Java-Themen 3
R Windows - User Passwort ändern Allgemeine Java-Themen 2
B "Verschlüsselung" mit Passwort (XOR bzw. Modulo) Allgemeine Java-Themen 7
S Erstellung einer verschlüsselten Passwort Datei Allgemeine Java-Themen 11
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
J TrueZip - Passwort bei Zipfile Allgemeine Java-Themen 13
I Passwort verschlüsseln Allgemeine Java-Themen 22
padde479 zip mit Passwort Allgemeine Java-Themen 2
H root-Passwort übergeben Allgemeine Java-Themen 28
S Passwort geschützte Excel Datei öffnen (POI) Allgemeine Java-Themen 4
G Blind-Datei (Passwort auslesen) Allgemeine Java-Themen 5
C Passwort sicher speichern Allgemeine Java-Themen 5
P Passwort lokal speichern Allgemeine Java-Themen 5
L Passwort mit Regulärem Ausdruck prüfen Allgemeine Java-Themen 6
S .rar-Dateien ein Passwort als Parameter übergeben Allgemeine Java-Themen 5
J Passwort(String) ---> SecretKey(Spec) Allgemeine Java-Themen 6
T jxl Passwort Allgemeine Java-Themen 3
P URL mit htaccess in Explorer öffnen (ohne user-passwort) Allgemeine Java-Themen 6
B Passwort verwenden ohne dass es im Quelltext steht Allgemeine Java-Themen 24
E TextField/Passwort Allgemeine Java-Themen 5
F Java Passwort abfrage Allgemeine Java-Themen 2
D sicheres hardgecodetes passwort? Allgemeine Java-Themen 18
G Zip Datei - Passwort schützen Allgemeine Java-Themen 13
E Hash Size (Sha 256) Allgemeine Java-Themen 5
Kirby.exe Hash Map Allgemeine Java-Themen 24
L Hash-Tabelle Allgemeine Java-Themen 2
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
T Hash von *.class-Datein überprüfen Allgemeine Java-Themen 1
R Großes Hash-Set erzeugen Allgemeine Java-Themen 12
R MD5-Hash eines Strings bestimmen Allgemeine Java-Themen 2
J Hash aus Verzeichniss generieren Allgemeine Java-Themen 2
S Hash-Bereiche erstellen die gleichverteilt sind..? Allgemeine Java-Themen 8
J MD5-Hash einer Datei Allgemeine Java-Themen 4
O Hash Wert von Passwörter erstellen (SHA) Allgemeine Java-Themen 9
M@rk MD5 Hash Allgemeine Java-Themen 3
C HASH Algorithmus 2 Strings ergeben das Selbe. Allgemeine Java-Themen 2
minzel Hash-Algorithmus Allgemeine Java-Themen 9
H Hash Tabelle einlesen und die Werte an ein Array übergeben Allgemeine Java-Themen 10
M Hash Tables Allgemeine Java-Themen 5
I hash-algorithmus Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben