Moin
so rum war das doch nicht gemeint. Natürlich sollen Paßwörter schön Einweg-verschlüsselt werden. Aber unter einem Hashing verstehe ich auch ein Zusammenfassen. So hat hier ja auch einer geschrieben, daß ab einer gewissen Länge sich der Schutz nicht mehr erhöhen läßt - eben wegen diesem Hashing. Das kann doch nicht sein, daß ich an der Uni mir ein Paßwort aus 12 Zeichen gegeben habe und ich mich anschließend mit Hilfe der ersten 8 Zeichen wieder einloggen konnte.
*g* Deswegen habe ich in weiser Voraussicht beim nochmaligen Durchlesen meines Posts das "gut" vor Hash eingefügt. Die 8 Zeichen auf die du dich beziehst stammen vom alterwürdigen crypt() und das ist schon lange nicht mehr gut. Deswegen will man auch MD5 benutzen. Das erzeugt a) 128 Bit Hashsummen, das heisst es gibt höchsten 2^128 verschiedene Hashes, und demzufolge braucht man auch maximal 2^128 verschiedene Passwörter (mit unterschiedlichen Hashes) ausprobieren, aber eben auch nicht weniger, und 340282366920938463463374607431768211456 ist schon eine ziemlich große Zahl :) und b) jedes Bit des Ausgangstextes geht in den Hash mit ein, also einfach das Passwort irgendwo abschneiden ist nicht drin. Wenn man dann auch noch einen selbstvergebenen festen oder zumindest bekannten String (zum Beispiel der username dem das Passwort gehört) mithasht, bringt es dem Angreifer auch nichts, wenn er mit einem Wörterbuch kommt, in dem lauter Hashes und ein dazu passendes Kennwort steht.
--
Henryk Plötz
Grüße aus Berlin