Norbert: Eindeutigkeit

Beitrag lesen

Hallo,

zum Beispiel in PHP kann man sogenannte Hashes von Strings bilden:

<?php  
echo 'md5: '.md5($line)."\n";  
echo 'sha: '.sha1($line)."\n";  
echo 'crc: '.crc32($line)."\n";  
?>

Nun stellt sich mir die Frage, wie eindeutig, bezogen auf den Quellstring $line, diese Hashes sind. So ein String kann ja auch sehr lang sein. So wird crc32 gewoehnlich fuer die Integritaetspruefung uebermittelter Daten verwendet, umfasst jedoch nur maximal 999.999.999 Zustaende. Also waere doch sha1 mit 16^40 = 1,4615016373309029182036848327163e+48 Zustaenden wesentlich besser geeignet.

Waere super, wenn dazu jemand eine Erklaerung oder einen Link haette.

Gruss und Dank
Norbert