# Was ist eine Hashfunktion?

Die exorbitante Zunahme von Datenmengen, die in weltweiten und lokalen Datennetzen verarbeitet werden, wirft immer wieder aufs Neue die Fragen auf, wie schnell auf große Datenmengen zugegriffen werden kann und wie dabei die Sicherheit des Datenaustausches gewährleistet wird. Hier kommt – neben anderen Sicherheitstechnologien – die Hashfunktion ins Spiel. Wir erklären, welche Eigenschaften sie hat und wozu sie gut ist.

Das englische Wort „hash“ bedeutet so viel wie „zerhacken“. Die Daten werden durch die Hashfunktion also „**zerhackt**“ und dann auf eine **einheitliche Länge** gebracht, egal wie groß der Ausgangswert ist. Eine andere Bezeichnung lautet „Streuwertfunktion“. Die Funktion wird in sehr vielen Bereichen der Informationstechnologie eingesetzt. Dazu gehören:

- die verschlüsselte Kommunikation zwischen Webserver und Browser sowie die Erzeugung von [Session-IDs](https://www.ionos.at/digitalguide/hosting/hosting-technik/was-ist-eine-session-id/) für Internetanwendungen und das Zwischenspeichern von Daten (Caching)
- der Schutz von sensiblen Daten wie Passwörtern, Webanalysen, Zahlungsmitteln
- die Signatur von Nachrichten
- das Auffinden von gleichen oder ähnlichen Datensätzen bei Suchfunktionen

---

### Definition: Hashfunktion

Mit der Hashfunktion werden Zeichenfolgen mit unterschiedlicher Länge in Zeichenfolgen mit fester Länge umgewandelt. So bekommen beispielsweise unterschiedliche Passwörter mit der Hashfunktion eine festgelegte Menge an zugelassenen Zeichen. Eine Zurück-Umwandlung des Hashwertes in die ursprüngliche Zeichenfolge ist ausgeschlossen.

---

[![Bild: Hashfunktion im Überblick](https://www.ionos.at/digitalguide/fileadmin/_processed_/d/3/csm_hashfunktion-im-ueberblick_62c881a35a.webp "Hashfunktion im Überblick")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Schaubilder/hashfunktion-im-ueberblick.png) Im Beispiel wird durch die Hashfunktion aus jedem unterschiedlich langen Passwort ein Hashwert mit definierter gleicher Länge erzeugt und in der Datenbank abgelegt. Eine Zurück-Umwandlung ist nicht möglich.       ##  Welche Eigenschaften hat eine Hashfunktion?

An eine Hashfunktion werden definierte Anforderungen gestellt, damit sie die zugedachten **Eigenschaften** aufweist. Das sind:

### Hashfunktion als Einbahnstraße

Aus dem erzeugten Hashwert darf **nicht** der ursprüngliche Dateninhalt **zurückerzeugt** werden können. Im oben abgebildeten Beispiel darf es also nicht möglich sein, aus dem erzeugten Hashwert „$P$Hv8rpLanTSYSA/2bP1xN.S6Mdk32.Z3“ das Passwort „susi\_562#alone“ wiederherzustellen.

### Unfallfreie Hashwerte

Es darf niemals passieren, dass unterschiedlichen Ursprungsdaten ein identischer Hashwert zugeordnet wird. Jede Eingabe muss einen anderen Hashwert erzeugen. Wenn das gewährleistet ist, spricht man auch von einer **kryptografischen** Hashfunktion. In der obigen Abbildung gibt es keinerlei identische Hashwerte, somit auch **keine Kollisionen** („Unfälle“) zwischen den erzeugten Daten. Für das Vermeiden solcher Kollisionen gibt es weitergehende Technologien.

### Hashfunktion mit Überschall

Wenn die Umwandlung von Eingaben in einen Hashwert viel Zeit benötigt, wäre das Verfahren ungeeignet. Die Hashfunktion muss also sehr **schnell** arbeiten. In Datenbanken werden Hashwerte in sogenannten [Hashtabellen](https://www.ionos.at/digitalguide/server/sicherheit/hashtabelle/ "Hashtabelle") abgelegt, um den schnellen Zugriff zu gewährleisten.

## Was ist der erzeugte Hashwert?

Der mittels Hashfunktion erzeugte Hashwert hat eine **feste Länge**, die durch die verwendete Hash-Technologie festgelegt ist. Dabei ist die Zeichenmenge des Eingabewerts unerheblich; es wird **immer die gleiche Anzahl an Zeichen ausgegeben**. Welche Zeichen zugelassen sind, ist innerhalb der Hashfunktion definiert.

[![Bild: Hashwerte haben immer die gleiche Länge](https://www.ionos.at/digitalguide/fileadmin/_processed_/f/4/csm_beispiel-hashwerte_0eae00669d.webp "Hashwerte haben immer die gleiche Länge")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/beispiel-hashwerte.jpg) Hashwerte, die mit dem Verfahren SHA256 erzeugt werden, bestehen aus stets gleich langen Zeichenketten, unabhängig von der Art und Anzahl der eingegebenen Zeichen.       Somit ist der Hashwert das Ergebnis, das mit der Hashfunktion und einem Hashalgorithmus berechnet wurde. Für den Hashwert wird auch der Begriff „**Fingerprint**“ verwendet. Das symbolisiert die Einzigartigkeit eines jeden Hashwertes, vergleichbar mit der Einzigartigkeit des menschlichen Fingerabdrucks. Bei Verwendung der Kleinbuchstaben „a“ bis „f“ und der Zahlen „0“ bis „9“ bei einer Länge des Hashwerts von 64 Zeichen bestehen **1.1579209e+77 Möglichkeiten**, das bedeutet eine 70, gefolgt von 24 Nullen! Daran kann man ablesen, dass auch Zeichenketten mit geringerer Länge und/oder mehr benutzbaren Zeichen einen brauchbaren Fingerabdruck erzeugen.

Die im obigen Beispiel gezeigten Hashwerte sind mit wenigen Zeilen PHP-Code einfach erzeugt:

```none
<?php
echo hash('sha256', 'apple'); 
?>
```

ergibt immer den Hashwert oder Fingerabdruck „3a42c503953909637f78dd8c99b3b85ddde362415585afc11901bdefe8349102“.

Dem Befehl „hash“ wurde der Verschlüsselungsalgorithmus „sha256“ für das Wort „apple“ zugewiesen.

## Hashfunktion und Webseiten

Bei der **SSL-verschlüsselten** Datenübertragung wird während der Anfrage beim Webserver das Serverzertifikat an den Browser des Nutzers gesendet. Dann wird mit einer Hashfunktion ein Sitzungsschlüssel erzeugt und zum Server gesendet, dort entschlüsselt und geprüft. Wenn der Server den erhaltenen Sitzungsschlüssel bestätigt, beginnt der verschlüsselte HTTP-Datenverkehr, also als [HTTPS](https://www.ionos.at/digitalguide/hosting/hosting-technik/was-ist-https/ "Was ist HTTPS?"). Die dabei ausgetauschten Datenpakete sind ebenfalls verschlüsselt, sodass ein **Angriff** auf den Datenverkehr **fast unmöglich** ist.

[![Bild: Serverzertifikat mit Hashwerten (Fingerabdrücken)](https://www.ionos.at/digitalguide/fileadmin/_processed_/6/6/csm_serverzertifikat-mit-hashwerten_9a13db7863.webp "Serverzertifikat mit Hashwerten (Fingerabdrücken)")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/serverzertifikat-mit-hashwerten.jpg) Ein Ausschnitt aus dem Zertifikat der Website der Medienanstalt Deutsche Welle zeigt u. a. die Schlüssel an, mit denen der Server mit dem Browser des Nutzers die Kommunikation aufbaut.       Die Sitzungsschlüssel (**Session-ID**) werden aus veränderlichen Daten eines Website-Besuchs, etwa IP-Adresse und Zeitstempel, generiert und mit der URL übertragen. Benötigt werden solche Session-IDs beispielsweise, um Warenkorb-Nutzer eindeutig zu identifizieren. Die Übertragung mit der URL (*www.domain.tld/index?sid=d4ccaf2627557c756a0762419a4b6695*) wird kaum noch genutzt. Die Identifizierung im Website-Header als **Cookie** hat sich mehr und mehr durchgesetzt.

Die temporäre Ablage von Informationen in [Caches](https://www.ionos.at/digitalguide/hosting/hosting-technik/was-ist-ein-cache/ "Was ist ein Cache?") erfolgt ebenfalls durch mit Hashwerte verschlüsselt, damit unberechtigte Nutzer beim Einsehen des Caches keine Rückschlüsse auf die besuchten Webseiten und benutze Zugangs- oder Zahlungsdaten ziehen können.

Auf vergleichbare Art läuft die Kommunikation zwischen **FTP-Server und Client** bei der Nutzung des [SFTP-Protokolls](https://www.ionos.at/digitalguide/server/knowhow/sftp-ssh-file-transfer-protocol/ "SFTP (SSH File Transfer Protocol)") ab.

## Schutz von vertraulichen Daten

**Zugangsdaten** für Webaccounts sind beliebte **Angriffsziele** von kriminellen Hackern. Ziel ist entweder die Störung des Betriebs einer Website, um beispielsweise Einnahmen aus trafficbasierter Werbung zu mindern oder an Informationen über hinterlegte Zahlungsmittel zu gelangen.

[![Bild: Sicherheitsschlüssel in WordPress](https://www.ionos.at/digitalguide/fileadmin/_processed_/e/b/csm_sicherheitsschluessel-in-WordPress_bb758b9969.webp "Sicherheitsschlüssel in WordPress")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/sicherheitsschluessel-in-WordPress.jpg) Das Content Management System WordPress bietet umfangreiche Sicherheitsfunktionen bei der Authentifizierung von registrierten Nutzern der Website. Die gezeigten Schlüssel werden mit verschiedenen Hashalgorithmen erzeugt.       Am Beispiel einer WordPress-Seite ist zu abzulesen, dass ein **Passwort** immer **verschlüsselt** hinterlegt ist. In Kombination mit den generierten Sicherheitsschlüsseln im System wird ein hoher Sicherheitsstandard erreicht. Das ist vor allem als **Schutz** gegen sogenannte [Brute-Force-Attacken](https://www.ionos.at/digitalguide/server/sicherheit/brute-force-definition-und-schutzmassnahmen/ "Brute Force: Definition und Schutzmaßnahmen") wichtig. Bei diesen Angriffen probiert ein Angreifer mittels einer eigens programmierten Hashfunktion so lange Kombinationen durch, bis ein Treffer erzielt wird, der den Zugang ermöglicht. Lange Passwörter mit hohen Sicherheitsstandards erschweren diese Angriffe, weil die benötigte Rechenleistung auf Seiten des Angreifers dafür ins Unermessliche steigen kann. Hier nochmals der Hinweis: **Verzichten Sie auf einfache Passwörter** **und verwahren Sie Zugangsdaten jeglicher Art sicher vor fremdem Zugriff**!

## Nachrichten signieren

Der **E-Mail-Verkehr** geht über Server, die speziell auf diese Form der Nachrichtenübermittlung abgestimmt sind. Für die Datenübertragung kommen ebenfalls per Hashfunktion erzeugte Schlüssel zum Einsatz, um die [Nachrichten digital zu signieren](https://www.ionos.at/digitalguide/e-mail/e-mail-technik/e-mails-digital-signieren/ "E-Mails digital signieren").

[![Bild: Allgemeine Informationen einer E-Mail-Signatur](https://www.ionos.at/digitalguide/fileadmin/_processed_/1/7/csm_allgemeine-informationen-einer-e-mail-signatur_d7308ac600.webp "Allgemeine Informationen einer E-Mail-Signatur")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/allgemeine-informationen-einer-e-mail-signatur.jpg) Eine digitale Signatur einer E-Mail ist vergleichbar mit der handgeschriebenen Unterschrift eines Briefes – einmalig und eindeutig.       Und so läuft der **Nachrichtenversand** mit einer **digitalen Signatur** ab:

- Der Absender berechnet einen Hashwert aus seiner Nachricht und verschlüsselt diesen mit seinem privaten Schlüssel (das ist die digitale Signatur).
- Die Nachricht wird zusammen mit dem verschlüsselten Hashwert an den Empfänger gesendet.
- Der Empfänger generiert einen Hashwert der erhaltenen Nachricht und benutzt dazu **dieselbe Hashfunktion**. Darüber hinaus entschlüsselt er den erhaltenen Hashwert mit dem öffentlichen Schlüssel und vergleicht beide.
- Wenn beide Werte **übereinstimmen**, kann der Empfänger davon ausgehen, dass die Nachricht auf dem Übertragungsweg **nicht manipuliert** wurde.

Bitte beachten Sie: Eine **digitale Signatur verschlüsselt nicht die Nachricht**, sondern liefert einen Beweis für die Integrität der Nachricht. Vertrauliche Inhalte sollten zusätzlich verschlüsselt werden.

## Wie hilft die Hashfunktion bei Suchfunktionen?

Das Suchen in **großen Datenmengen** ist ein ressourcenintensives Verfahren. Wenn man sich vorstellt, alle Einwohner einer Großstadt in einer Tabelle mit vielen Feldern (Name, Vorname, Straße etc.) nach einem Begriff zu durchforsten, kann das sehr viel Zeit und Rechenleistung kosten. Um das zu vereinfachen, wird für jedes Datenobjekt ein Hashwert berechnet, der einen Eintrag eindeutig identifiziert. Zum Suchen in der Tabelle wird aus dem Suchbegriff wieder ein Hashwert errechnet, der dann mit den vorliegenden Hashwerten verglichen wird. Es wird also eine eingegrenzte Anzahl von Buchstaben, Ziffern und Zeichen mit vorliegenden Buchstaben, Ziffern und Zeichen abgeglichen. Das geht wesentlich effizienter vonstatten als die Suche in allen vorhandenen Feldern der Datentabelle, beispielweise nach allen Vornamen, die mit „Ann“ beginnen.

---

### Fazit

Hashfunktionen werden zur Verbesserung der Sicherheit in der elektronischen Kommunikation benutzt. Hier haben sich inzwischen sehr hochentwickelte Standards etabliert. Aber auch die Hacker schlafen nicht, sodass mit immer ausgefeilteren Angriffstechnologien zu rechnen ist.

---


This is a markdown version of: [https://www.ionos.at/digitalguide/server/sicherheit/hashfunktion/](https://www.ionos.at/digitalguide/server/sicherheit/hashfunktion/) for AI/LLM consumption.