Wie hash einer Zeichenfolge mithilfe von SHA-256
Ich bin versucht, hash-mein Benutzer Passwort, das ist von Typ string mit SHA-256
Ich bin mit SHA-256-hash der Zeichenkette mit der folgenden Methode
String text = "abc";
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(text.getBytes("UTF-8"));
Konvertieren btye array zum string , ich habe folgende Methode
String doc2 = new String(hash, "UTF-8");
Wenn ich drucken doc2 zur Ausgabe , bekomme ich Müll
�x����AA@�]�"#�a��z���a�
Was mache ich falsch ??? Wie kann ich den hash einer Zeichenfolge mithilfe von SHA-256 und konvertieren es zurück zu string ??
- Hashing ist eine ein-Weg-Funktion. Wenn Ihre Absicht ist, zu versuchen und erhalten Sie das Passwort aus dem hash, es ist unmöglich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
diese wird pring hex-Darstellung der hash -
erhalten Sie keine original-string hash von
SHA256 gibt Reine Binär-Ausgabe, bei der alle Werte von 00 bis FF im wesentlichen die gleiche Wahrscheinlichkeit für jedes Zeichen.
Textausgabe, müssen Sie es konvertieren zu einem text bilden, wie Base64-Codierung
Der einzige Weg, um zu gehen von einem kryptographisch sound-hash (oder die meisten hashes, sogar kryptographisch ungesund sind) wieder auf die ursprüngliche Eingabe ist die Anwendung der hash-Eingabe nach der Eingabe, bis Sie das gleiche Ergebnis erhalten - das ist entweder den ursprünglichen Eingang oder eine Kollision.