Wie hasse ich ein Passwort?

7

Meine nächste Aufgabe wird es sein, Passwörter zu verschlüsseln. Ich arbeite an der Datenbankzugriffsebene und mein Kollege hat diese Anfrage gestellt: Implementiere einen SHA-512 Hash auf einer leeren Methode. Wie kann ich das tun?

    
5YrsLaterDBA 11.05.2010, 19:35
quelle

4 Antworten

10

Ganz einfach ein einfacher Prozess:

%Vor%

hash enthält jetzt einen nicht umkehrbaren Hash der ursprünglichen Daten, die Sie hashed wollten. Überprüfen Sie auch MSDN . Ein paar Anmerkungen:

  • Verwenden Sie immer salt (je länger desto besser und einzigartig pro Benutzer - Danke Paul, guter Punkt.) .)
  • SHA2 * Generierungsmethoden (und SHA im Allgemeinen) Hash-Methoden sind auf Geschwindigkeit ausgelegt, so dass sie nicht unsicher sind, aber sie sind nicht die sichersten. Sehen Sie sich sowohl bcrypt als auch SLaks mit erwähnt .
Kyle Rozendo 11.05.2010, 19:39
quelle
10

Sie sollten bcrypt , das ist sicherer für Kennwörter als SHA512.

Wenn Sie wirklich SHA512 verwenden müssen, sollten Sie die SHA512Managed verwenden. Klasse , wie andere Antworten erwähnt haben.
Stellen Sie sicher, Ihren Hash zu salzen.

    
SLaks 11.05.2010 19:38
quelle
7
  

Wie hasse ich ein Passwort?

Mit einem Salz. Wirklich.

Niemals, jemals dies tun:

%Vor%

Aber das:

%Vor%

Dies ist einer der am meisten missverstandenen "Tricks des Handels". Die meisten Menschen wissen nicht, was ein "Salz" ist und wenn Sie es ihnen erklären, halten sie es für sinnlos.

Die Wahrheit ist: SHA-512 oder MD5 oder ein sehr schwacher Hash, wenn Rainbow-Tabellen vorberechnet sind, macht keinen Unterschied. SHA-65536, sollte es existieren (ich bin hier witzig), wäre nicht besser als jeder andere Hash-Algorithmus, sobald Rainbow-Tabellen vorberechnet sind.

Ein groß genug "Salz" macht Regenbogen Tische unmöglich:

Ссылка

Beachten Sie, dass, selbst wenn Sie vollständig verstehen, wie Hashes, Salz und Regenbogen Tabellen beziehen (und damit verstehen, warum der Wikipedia-Artikel besagt: "Ein Salz wird oft mit Hash-Passwörter verwendet, um diesen Angriff schwieriger, oft undurchführbar. ") Es gibt eine sehr hohe Wahrscheinlichkeit, dass Ihre Mitarbeiter dies nicht tun. Genauso wie es sehr wahrscheinlich ist, dass die meisten Leute in diesem Thread dieses Thema nicht verstehen.

Ich habe hier auf SO Antworten mit 30 Upvotes gesehen, wo jemand, der nicht verstand, was ein Salz war, mit Techno-Schlagwörtern kam, um seine Position zu verteidigen ... Und doch hatte er all diese Upvotes (zu faul dazu) finde die Frage, aber es war episch).

    
SyntaxT3rr0r 11.05.2010 19:49
quelle
1

SHA512-Klasse

C # Beispiel von dieser Seite:

%Vor%     
Matt 11.05.2010 19:37
quelle

Tags und Links