2016-07-06 10 views
1

Ich muss SHA1 Passwörter aus einer Microsoft SQL Server-Datenbank extrahieren, um sie in einem externen System zu verwenden.Wie wählt man SHA1 Hash Werte richtig?

Wenn ich eine einfache Auswahlabfrage für ein bekanntes Passwort zu tun, erhalte ich dieses Ergebnis (Passwort „password“):

"{SHA1=5b9febc2d7429c8f2002721484a71a84c12730c7}" 

Aber es sollte 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 sein.

Irgendeine Idee, wie man es wählt, um den erwarteten Wert 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 zu erhalten?

+1

Bitte fügen Sie Ihr Skript ein – Deadpool

+0

Warum können Sie nicht einfach String-Funktionen verwenden, um das zu tun? Stack Overflow ist kein Code-Schreibdienst. – usr

+0

Mein Problem ist nicht nur die Auswahl des Wertes. Mein Problem ist, dass die Hash-Werte nicht übereinstimmen. – xyaonline

Antwort

3

SHA1-Hashing erfolgt auf Bytes, nicht auf Zeichen, daher ist es wichtig, sicherzustellen, dass die Konvertierung von Zeichen in Bytes mit einer vereinbarten Codierung durchgeführt wird.

5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 ist der SHA1-Hash von password codiert in ASCII/UTF-8.

5b9febc2d7429c8f2002721484a71a84c12730c7 ist der SHA1-Hash von password codiert in UTF-16-BE.

Um dies zu beheben, wählen Sie eine Kodierung aus und ändern Sie den Code, der die andere Kodierung verwendet, um zu entsprechen.

+0

Gute Suche. – usr

Verwandte Themen