Sven Rautenberg: Gibt es einen Hash-Algo, der einen 13 Stelligen Code erzeugt?

Beitrag lesen

Moin!

substr( md5( $variable ) ,0 ,13);

Äh nein - das ist kein Hash mit 13 Stellen sondern ein vrstümmelter Hash der eine Signifikant höhere Kollisionswahrscheinlichkeit hat als ein (theoretisch) baugleicher Hashalgorithmus, der tatsächlich 13 Stellen liefert.

Das kannst du doch sicher mathematisch beweisen, oder?

vgl. "Geburtstagsproblem."

Ich glaube nicht, dass das Geburtstagsproblem hier maßgeblich ist.

Bei einem echten (perfekten) Hash-Algorithmus mit 13 Stellen und 16 Zeichen Vorrat würde eine Kollision nach spätestens ~4.5*10^15 Klartexten auftreten - wenn du aber die Entropie eines Streuwerts verringest, indem du einfach vom Fetigen Hash ein paar Stellen abschneidest, tritt so eine Kollision potentiell früher auf.

Das heißt, du hast Erkenntnisse über die Streuung von MD5-Ergebnissen?

- Sven Rautenberg