Hash: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) |
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Ein <b>Hash</b> (auch: Hashcode, Hashwert, Streuwert; von engl. hash "zerhacken") ist meist ein skalarer Wert aus einer Teilmenge der natürlichen Zahlen und wird auch als "Fingerprint" bezeichnet, da er eine nahezu eindeutige Kennzeichnung einer grösseren Datenmenge darstellt, so wie der Fingerabdruck einen Menschen nahezu eindeutig identifiziert. Ein Hash wird beispielsweise verwendet, um eine Datei eindeutig zu kennzeichnen, damit ein Empfänger ihre Authentizität prüfen kann, ohne den Dateiinhalt selbst zu kennen. | Ein <b>Hash</b> (auch: Hashcode, Hashsumme, Hashwert, Streuwert; von engl. hash "zerhacken") ist meist ein skalarer Wert aus einer Teilmenge der natürlichen Zahlen und wird auch als "Fingerprint" bezeichnet, da er eine nahezu eindeutige Kennzeichnung einer grösseren Datenmenge darstellt, so wie der Fingerabdruck einen Menschen nahezu eindeutig identifiziert. Ein Hash wird beispielsweise verwendet, um eine Datei eindeutig zu kennzeichnen, damit ein Empfänger ihre Authentizität prüfen kann, ohne den Dateiinhalt selbst zu kennen. | ||
Ein Hash wird mittels einer <b>Hashfunktion</b> (auch: Streuwertfunktion) gebildet. Dabei handelt es sich um eine Funktion, welche aus einer üblicherweise grossen Quellmenge eine Ausgabe (den Hash) aus einer meist kleineren Zielmenge erzeugt. Hash-Algorithmen sind darauf optimiert, Kollisionen zu vermeiden. Eine Kollision tritt dann auf, wenn zwei verschiedenen Datenstrukturen derselbe Schlüssel zugeordnet wird. Da der Hash normalerweise kürzer als die originale Datenstruktur ist, sind solche Kollisionen prinzipiell unvermeidlich, weshalb es Verfahren zur Kollisionserkennung geben muss. Eine gute Hashfunktion zeichnet sich dadurch aus, dass sie für die Eingaben, für die sie entworfen wurde, wenige Kollisionen erzeugt. | Ein Hash wird mittels einer <b>Hashfunktion</b> (auch: Streuwertfunktion) gebildet. Dabei handelt es sich um eine Funktion, welche aus einer üblicherweise grossen Quellmenge eine Ausgabe (den Hash) aus einer meist kleineren Zielmenge erzeugt. Hash-Algorithmen sind darauf optimiert, Kollisionen zu vermeiden. Eine Kollision tritt dann auf, wenn zwei verschiedenen Datenstrukturen derselbe Schlüssel zugeordnet wird. Da der Hash normalerweise kürzer als die originale Datenstruktur ist, sind solche Kollisionen prinzipiell unvermeidlich, weshalb es Verfahren zur Kollisionserkennung geben muss. Eine gute Hashfunktion zeichnet sich dadurch aus, dass sie für die Eingaben, für die sie entworfen wurde, wenige Kollisionen erzeugt. |
Version vom 27. Februar 2009, 13:43 Uhr
Ein Hash (auch: Hashcode, Hashsumme, Hashwert, Streuwert; von engl. hash "zerhacken") ist meist ein skalarer Wert aus einer Teilmenge der natürlichen Zahlen und wird auch als "Fingerprint" bezeichnet, da er eine nahezu eindeutige Kennzeichnung einer grösseren Datenmenge darstellt, so wie der Fingerabdruck einen Menschen nahezu eindeutig identifiziert. Ein Hash wird beispielsweise verwendet, um eine Datei eindeutig zu kennzeichnen, damit ein Empfänger ihre Authentizität prüfen kann, ohne den Dateiinhalt selbst zu kennen.
Ein Hash wird mittels einer Hashfunktion (auch: Streuwertfunktion) gebildet. Dabei handelt es sich um eine Funktion, welche aus einer üblicherweise grossen Quellmenge eine Ausgabe (den Hash) aus einer meist kleineren Zielmenge erzeugt. Hash-Algorithmen sind darauf optimiert, Kollisionen zu vermeiden. Eine Kollision tritt dann auf, wenn zwei verschiedenen Datenstrukturen derselbe Schlüssel zugeordnet wird. Da der Hash normalerweise kürzer als die originale Datenstruktur ist, sind solche Kollisionen prinzipiell unvermeidlich, weshalb es Verfahren zur Kollisionserkennung geben muss. Eine gute Hashfunktion zeichnet sich dadurch aus, dass sie für die Eingaben, für die sie entworfen wurde, wenige Kollisionen erzeugt.