SHA2-Passwort-hashing in java
Ich versuche, hash-Passwörter mit SHA2.
Wo bekomme ich einen Auszug aus den java-code für das machen?
Ich habe gesehen, dass der Beitrag, aber ich habe etwas vermisst:
SHA2-Passwort-Speicherung mit Java
Mac mac = Mac.getInstance("HmacSha256");
SecretKeySpec secret = new SecretKeySpec(key.getBytes(), "HmacSha256");
mac.init(secret);
byte[] shaDigest = mac.doFinal(phrase.getBytes());
String hash = "";
for(byte b:shaDigest) {
hash += String.format("%02x",b);
}
Dem Satz ist die Zeichenfolge, ich will codieren, richtig? Und was ist der Schlüssel (Zeile 2)
Vielen Dank im Voraus
FYI: Sie können Lesen, einige Fragen zu Passwort-hashing. Zwar ist es gut, hash-Passwörter, es ist nicht-trivial, um es richtig zu tun. Diese Frage hat einige gute Antworten: Vorschläge für die Bibliothek, hash-Passwörter, die in Java
InformationsquelleAutor Encripterrr | 2011-07-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, Sie brauchen, um klar sein, was es ist, Sie tun möchten. Sie sagen, Sie wollen ein Kennwort hash, aber der code, den Sie verwenden, ist für einen MAC (Message Authentication Code), insbesondere HMAC.
Hashes, MACs sind verschiedene Dinge für verschiedene Zwecke (obwohl HMAC erfordert die Verwendung eines hash). Sie müssen sicher sein, Sie verwenden die richtige für Ihre Anforderung.
Der Grund, warum Sie werden aufgefordert, eine Taste ist, weil MACs brauchen einen Schlüssel. Hashes nicht:
InformationsquelleAutor rossum
Ich etwas modifiziert rossum ' s code, Salz und konvertieren Rückkehr Typ String, hinzufügen von try/catch, vielleicht hilft es ja jemandem:
InformationsquelleAutor thorin86
können Sie erwägen, commons-codec-Implementierung
InformationsquelleAutor Dapeng
Satz wäre das Kennwort, das Sie versuchen, zu schützen.
key
ist das Salz, eine eindeutige (und bekannt) Zeichenfolge angefügt, um Ihr Passwort vor dem hashing zu besiegen, die rainbow-Tabellen. Oder sollte es zumindest sein. Dein code ist einfach nur das Passwort selbst, das ist irgendwie sinnlos. Es sollte eine lange zufällige Zeichenkette, die gespeichert wird mit dem Passwort zusammen verdauen.InformationsquelleAutor bdares