Hash Wert von Passwörter erstellen (SHA)

Status
Nicht offen für weitere Antworten.

oetzi

Bekanntes Mitglied
Hallo zusammen,

hätte nicht gedacht, dass dieses Thema so kompliziert wird...
Ich suche eine Möglichkeit Passwörter zu verschlüsseln.

Habe mich erstmal durch die Theorie zur Verschlüsselung gelesen und wenn ich nicht ganz falsch liege, bietet sich SHA-265 als sichere Verschlüsselung an.

Bin dann eigentlich davon ausgegangen, dass es direkt irgendwelche Javaklassen gibt, die mir die Funktionalität der SHA-265 Verschlüsselung bietet, aber ich finde da nichts vernümpftiges.
Stoße immer wieder auf irgendwelche Quellcodes, ich will ja aber nicht die Verschlüsselung neu schreiben, sondern einfach nutzen :)

Kann mir also wer helfen und nen Tipp geben, wie ich so simpel wie möglich meine Passwörter verschlüsseln kann?

Schönen Gruß
oetzi
 
Zuletzt bearbeitet:

Der Müde Joe

Top Contributor
>Ich suche eine Möglichkeit Passwörter zu verschlüsseln.

generell ist das nie gut. Normalerweise verschlüsselt man kein Password sondern legt es als zb MD5 Hash ab. Für einen Login wedern dann lediglich die beiden Hashs überprüft. Muss es wirklich Ver- und wieder entschlüsselt werden ist es wurst...kannst TEA nehmen zb. (Tiny Encryption Algo).
 

oetzi

Bekanntes Mitglied
Morgen,
also eigentlich gefällt mir die Insel ja ganz gut, aber dieses Kapitel finde ich schlecht erklärt.

Habe hier im Forum eine sehr gute Erklärung gefunden:
http://www.java-forum.org/java-faq-beitraege/16968-hashfunktionen-java-messagedigest.html

Hier mal ne kurze Zusammenfassung von mir:

Java:
    public static void hashtest() {
        try {
            //Holen einer MessageDigest Instanz
            MessageDigest md = MessageDigest.getInstance("SHA-256");
            
            //soll einfach ein String in einen Hash umgewandelt werden, sollte 
            //diese digest() Methode verwendet werden
            byte[] digest2 = md.digest("abd".getBytes());
            //Ausgabe des Byte Array
            for ( byte b : digest2 )
              System.out.printf( "%02x", b );
            
            System.out.println();
            
            //update kann genutzt werden, wenn man mehrere Teil(strings) hashen möchte
            //zb. wenn mehrere Eingaben hintereinander eingelesen werden und nur ein Hash erzeugt werden soll
            md.update("abd".getBytes());
            //digest() liefert die den eigentlich Hash
            byte[] digest = md.digest();
            //Ausgabe des Byte Array
            for ( byte b : digest )
              System.out.printf( "%02x", b );

           //Hashwert einem String zuweisen
           System.out.printf();
           String x = "";
            for ( byte b : digest )
                x += String.format( "%02x", b );
            System.out.println(x);

            System.out.println("__");
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(Testing_class.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

Eine Frage hätte ich allerdings noch.
Ich kenne diese Art der for Schleife nicht und verstehe nicht so ganz, wie genau die Ausgabe zustande kommt.

Das hier ist ja noch ersichtlich. Es wird einfach jedes Element von digest durchgegangen
Java:
for ( byte b : digest )

Aber was genau macht das denn hier??
Java:
System.out.printf( "%02x", b );
 
Zuletzt bearbeitet:

oetzi

Bekanntes Mitglied
Man ist das kompliziert!

Verstehe ich das richtig?
digest() liefert nur Zahlenwerte, die dann noch mit diesem format Befehl in Hexadezimalschreibweise umgewandelt werden müssen?

Was ist denn jetzt der eigentlich SHA Hashwert??
Das was digest() mir liefert, oder die Hexadezimalschreibweise davon?
 

Der Müde Joe

Top Contributor
>Was ist denn jetzt der eigentlich SHA Hashwert??

Das, was du zB bei Programmen wie md5sum siehst, wäre der Hex ;-)
 

oetzi

Bekanntes Mitglied
ähm, das ist ja jetzt nicht so ganz die Antwort auf meine Frage :)
und md5sum kenne ich nicht.
 

oetzi

Bekanntes Mitglied
> Die menschenleserliche Interpretation des byte-Arrays
Warum sollte man nen Hash "menschenleserlicher" machen?
Verstehe den Sinn dahinter immer noch nicht.

Aber vielleicht zurück zum Ausgangspunkt:
Wie speichere ich jetzt Passwörter als Hash ab? Was ist der Best Practise?
Nehme ich dazu einfach das Ergebnis, welches ich von der digest() methode bekomme?
Das umwandeln in Hex Schreibweise bietet doch keinen weiteren Sicherheitsaspekt oder?

Gruß
oetzi
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Hash Size (Sha 256) Allgemeine Java-Themen 5
Kirby.exe Hash Map Allgemeine Java-Themen 24
L Hash-Tabelle Allgemeine Java-Themen 2
J Passwort Verschlüsselung hash Allgemeine Java-Themen 2
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
T Hash von *.class-Datein überprüfen Allgemeine Java-Themen 1
W Passwort Clientseitig sicher ablegen ohne Hash Allgemeine Java-Themen 2
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
F Passwort hash Allgemeine Java-Themen 8
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
J Wie kann man herausfinden, wo der Wert herkommt ? Allgemeine Java-Themen 13
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
L 2 Dimensionale ListArray Abfrage nach einem Wert suchen Allgemeine Java-Themen 5
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
S Wert zuweisung Allgemeine Java-Themen 1
Alex_99 Rechner: Wert zwischenspeichern und bei Bedarf mit Ihm weiterrechnen? Allgemeine Java-Themen 6
J Wo kommt der Wert der Variable her ? Allgemeine Java-Themen 6
Tiago1234 CellReference cr = new CellReference("") gibt den falschen Wert zurück Allgemeine Java-Themen 49
N Value Wert aus HTML-Button mittels thymeleaf spring an java übergeben Allgemeine Java-Themen 2
L String zu repräsentativen Wert Allgemeine Java-Themen 0
S Drools: Zählen wie oft ein Wert vorkommt Allgemeine Java-Themen 1
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
T Wert an laufenden Java-Prozess übergeben Allgemeine Java-Themen 10
A Variablen Funktion übergibt den Wert nicht Allgemeine Java-Themen 13
P JSpinner gibt leeren Wert zurück Allgemeine Java-Themen 5
KeexZDeveoper Nächstgelegenden Wert ermitteln Allgemeine Java-Themen 5
C Variablen Variablen mit unendlichem Wert Allgemeine Java-Themen 22
G Iteratoren - Wie kann man mithilfe von Iteratoren nur jeden zweiten Wert eines TreeSets ausgeben? Allgemeine Java-Themen 4
A Mit dem letzten bis zum ersten Wert aus Array rechnen Allgemeine Java-Themen 15
T Array - Wert am nächsten zur vollen Sekunde Allgemeine Java-Themen 20
F Wert in Variable schreiben, wenn diese gerade genutzt wird Allgemeine Java-Themen 10
G Methoden BMI -Wert Aufgabe(Methoden) Allgemeine Java-Themen 4
F Wert ändert sich nicht Allgemeine Java-Themen 12
E JavaFX String-Wert geht "verloren" - ratlos Allgemeine Java-Themen 2
A In Excel-Datei schreiben, Formeln der Mappe anwenden, Wert lesen Allgemeine Java-Themen 3
R Int Wert im Dialogfeld ändern Allgemeine Java-Themen 4
B [Android] EditText-Object ist null - Nimmt nicht den Wert des enthaltenen Textfeldes ein Allgemeine Java-Themen 2
O log4j, Problem bei Ausgabe null-Wert Allgemeine Java-Themen 0
H Bestimmten Wert aus String parsen Allgemeine Java-Themen 7
M HashMaps: Wert erweitern Allgemeine Java-Themen 3
C Object.equals() liefert falschen Wert? Allgemeine Java-Themen 14
M Parallele Programmierung: volatile Variable nimmt ungewöhnlichen Wert an Allgemeine Java-Themen 3
T Datentypen ArrayUtils.indexOf( ... ) liefert -1 obwohl Wert scheinbar enthalten ist Allgemeine Java-Themen 15
H Speziellen Wert aus String filtern Allgemeine Java-Themen 4
M JExcel Wert aus Zelle übergeben/ausgeben Allgemeine Java-Themen 2
iB0T Variable Wert ausrauchen Allgemeine Java-Themen 3
iB0T "goto" Befehl aus Batch in Java und Variablen wert immer wieder neu setzen Allgemeine Java-Themen 4
G Z Wert - 3 Dimensionaler Punkt Allgemeine Java-Themen 13
S JPA und Entity-Klassen: Wert ungültig Allgemeine Java-Themen 6
C .Ini-Datei Wert Änderungen werden nicht angenommen Allgemeine Java-Themen 3
J String mit "," in Double Wert konvertieren Allgemeine Java-Themen 7
A nur einen Wert aus einer .conf lesen und erneuern Allgemeine Java-Themen 3
I getResponseCode(); returnt einen falschen Wert? Allgemeine Java-Themen 7
N Applet Apache Poi Wert einer Formel ausgeben Allgemeine Java-Themen 5
G Input/Output Manuelle Änderung von Wert in Swing Komponente bemerken! Allgemeine Java-Themen 2
S Newton-Verfahren liefert nur 1 Wert Allgemeine Java-Themen 3
E Wert von enum zur Laufzeit festlegen. Allgemeine Java-Themen 5
E Wert in andere Klasse übernehmen Allgemeine Java-Themen 4
X this.val$WERT Was ist den das? Allgemeine Java-Themen 2
K Scanner - große Textfile, nur 0 ab betim. Wert Allgemeine Java-Themen 4
S Daten in Array als INT-Wert einlesen - jetzt als csv Datei Allgemeine Java-Themen 5
T OLE-Automation mit Excel (Wert übergabe) Allgemeine Java-Themen 1
Benji0815 Wert in GUI aktualisieren, Beobachter Allgemeine Java-Themen 9
G Double Wert über OutputStream verschicken Allgemeine Java-Themen 2
S Methode übergibt immer den gleichen Wert Allgemeine Java-Themen 21
J Was ist schneller? Neue Variable oder neuer Wert speziell int Allgemeine Java-Themen 3
M Bit Wert umdrehen Allgemeine Java-Themen 5
J ArrayList aus Point-Objekten nach dem x-Wert ordnen Allgemeine Java-Themen 2
B Wert mit Adresse auslesen Allgemeine Java-Themen 11
S Array: Anzahl Elemente mit best. Wert zählen Allgemeine Java-Themen 4
M Ein Array-Wert soll sich verändern, aber 2 tun es? Allgemeine Java-Themen 7
S Prüfen auf Hex-Wert fester Länge! Allgemeine Java-Themen 5
G transientes Objekt mit Wert initialisieren? Allgemeine Java-Themen 7
J in einer static Variable Wert ändern Allgemeine Java-Themen 6
reibi double-Wert auf 2 Stellen nach dem Komma abschneiden Allgemeine Java-Themen 6
S CRC wert berechnen ergibt 0 ? Allgemeine Java-Themen 9
MQue Float- Wert formatieren Allgemeine Java-Themen 8
A Private-Wert eines Objekts auslesen Allgemeine Java-Themen 9
R Wert von einer Klasse in eine andere bekommen Allgemeine Java-Themen 6
J Integer Array Wert vorhanden? Allgemeine Java-Themen 6
N Wert in ArrayList ändert sich ohne wissentliches zutun Allgemeine Java-Themen 6
O System.nanoTime() einheitlichen Wert auf mehreren Rechnern? Allgemeine Java-Themen 9
H JTable Wert verändern Allgemeine Java-Themen 3
S den zweit niedrigsten wert in einem array berechnen Allgemeine Java-Themen 2
J variablen wert ändernung mit einer art actionlistener? Allgemeine Java-Themen 4
J Vector - Wert ersetzen Allgemeine Java-Themen 14
H Zugriff auf Wert einer Umgebungsvariablen Allgemeine Java-Themen 2
H JSF - Wert an ein managed bean übergeben Allgemeine Java-Themen 2
H boolean wert ändern Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben