Laden...

MD5: Salted Hash like PHP

Erstellt von gelöschtem Konto vor 14 Jahren Letzter Beitrag vor 14 Jahren 3.177 Views
Gelöschter Account
vor 14 Jahren
MD5: Salted Hash like PHP

Hallo, ich schreibe gerade eine Server-Anwendung die sich aus der Datenbank eines VBulletin-Forums die Nutzerdaten holen soll und somit einen Login der Forenuser in die Client-Applikation ermöglichen soll (Serverseitige SQL-Abfragen natürlich)

Mein Problem ist, das ich keinen Salted MD5 wie PHP in C# hinbekomme und ich eine PHP-Bridge für hässlich halte.

Eine Methode um einen MD5 zu erstellen habe ich, nur weiß ich nicht genau was PHP mit dem Salt nachher macht, vorne dran? hinten dran? mischen?

Kann mir da Jemand helfen?

U
208 Beiträge seit 2008
vor 14 Jahren

Ich wüsste jetzt gar nicht, dass es in PHP eine fertige Funktion für Salted Hashs gäbe. Kommt also höchstwahrscheinlich auf die konkrete Umsetzung an. Weiß aber auch nicht genau, wie vBulletin hier vorgeht. Müsstest du irgendwie in Erfahrung bringen, zur Not per Trial and Error. So viele Möglichkeiten dürfte es da ja nicht geben?

1.002 Beiträge seit 2007
vor 14 Jahren

Hallo Isaac,

doch, gibt es: Der zweite Parameter ($salt) von crypt() ist optional.

m0rius

Mein Blog: blog.mariusschulz.com
Hochwertige Malerarbeiten in Magdeburg und Umgebung: M'Decor, Ihr Maler für Magdeburg

Gelöschter Account
vor 14 Jahren

> ](http://php.net/manual/en/function.crypt.php) ist optional.){gray}

richtig, und genau diese methode ist es, von der ich wissen will wie sie genau funktioniert, kann ja kein geheimnis sein oder?

C
401 Beiträge seit 2007
vor 14 Jahren
Gelöschter Account
vor 14 Jahren

@Corpsegrinder:

Sauber, du hast mir genau 0 weitergeholfen =)
Das sagt mir immernoch nicht wo genau der Salt beim Hashen mit PHP
eingefügt wird G

C
401 Beiträge seit 2007
vor 14 Jahren

Salt (engl. „Salz“) bezeichnet in der Kryptographie eine zufällig gewählte Bitfolge, die an einen gegebenen Klartext vor der Verwendung als Eingabe einer Hashfunktion angehängt wird, um die Entropie der Eingabe zu erhöhen.

Was gibt es daran nicht zu verstehen? Anhängen heisst im Normalfall dahinter. Allerdings ist es vollkommen irrelevant, ob man den Salt vorne, oder hinten, oder nach den ersten 3 Buchstaben einfügt. Er erfüllt immer seinen Zweck. Das sollte man dem Artikel auch entnehmen können.

Gelöschter Account
vor 14 Jahren

du verstehst es nicht oder?
ich will GENAU die methode von PHP in C# nachahmen...
ich muss wissen wie vbulletin/php den passworthash der in der DB bei jedem user steht
generiert, alles andere bringt mich so ca. 0 meter weit...

ich bin nicht auf den kopf gefallen, selbstverständlich habe ich das in sämtlichen kombis
schon versucht, entweder habe ich die falsche hashing-methode oder die reihenfolge
stimmt nicht, was widerrum der grund ist weswegen ich hier danach frage.

ich will nix sicher machen, ich will einfach etwas in c# portieren...

wie ein salt funktioniert weiß ich >-<

F
240 Beiträge seit 2006
vor 14 Jahren

Dann guck im Sourcecode nach.

Der Sourcecode der crypt() funktion findet unter /ext/standard/crypt.c der php sources.

925 Beiträge seit 2004
vor 14 Jahren

Öy, bleibt mal locker, Leute! Der Tonfall gefällt mir hier ganz und gar nicht.

C
401 Beiträge seit 2007
vor 14 Jahren

ich will GENAU die methode von PHP in C# nachahmen...

Ruhig bleiben... Du solltest erstmal rausfinden, welchen Hashing-Algo dein Server benutzt. Wie du der Doku von crypt() entnehmen kannst entscheidet der sich selber, welchen er nimmt. Je nachdem, welche auf dem System zur Verfügung stehen und welche PHP Version du hast nimmt er entweder DES, MD5, SHA-256 oder SHA-512. Schreib dir doch einfach ein einfaches PHP-Script, welches einen String mit crypt() verschlüsselt und das gleiche dann für alle Hashing-Algos. Dann solltest du sehen, welche Methode er benutzt.

1.361 Beiträge seit 2007
vor 14 Jahren

Bei Stackoverflow: Problem porting PHP crypt() function to C# hat man sich auch schon mit dem Thema beschäftigt. Vielleicht dort einfach nochmal nachlesen/nachfragen?

beste Grüße
zommi