{"id":5,"date":"2026-06-10T07:44:57","date_gmt":"2026-06-10T07:44:57","guid":{"rendered":"https:\/\/shattered.io\/de\/2026\/06\/10\/hashfunktion\/"},"modified":"2026-06-10T12:32:33","modified_gmt":"2026-06-10T12:32:33","slug":"hashfunktion","status":"publish","type":"post","link":"https:\/\/shattered.io\/de\/cryptography\/hashfunktion\/","title":{"rendered":"Was ist eine Hashfunktion? So funktioniert Hashing"},"content":{"rendered":"<p>Eine Hashfunktion verwandelt beliebige Daten in einen Fingerabdruck fester L\u00e4nge. Egal ob Sie ein einzelnes Zeichen, ein Passwort oder ein mehrere Gigabyte gro\u00dfes Festplatten-Image hineingeben: Heraus kommt immer eine Zeichenkette derselben Gr\u00f6\u00dfe, der sogenannte Hashwert oder Digest. Dieses Prinzip steckt unsichtbar hinter dem Schloss-Symbol im Browser, hinter der Pr\u00fcfsumme neben einem Download und hinter jedem Block einer Blockchain. Dieser Artikel erkl\u00e4rt, was eine Hashfunktion ausmacht und wodurch sie sich von Verschl\u00fcsselung und Kodierung unterscheidet.<\/p>\n<h2 id=\"definition-was-eine-hashfunktion-ist\">Definition: Was eine Hashfunktion ist<\/h2>\n<p>Eine Hashfunktion ist ein Algorithmus, der eine Eingabe beliebiger L\u00e4nge auf eine Ausgabe fester L\u00e4nge abbildet. Die Eingabe nennt man auch Urbild (englisch: Preimage), die Ausgabe hei\u00dft Hashwert, Digest oder schlicht Hash. \u00dcblicherweise wird der Hashwert als Folge hexadezimaler Zeichen dargestellt, etwa als 64 Zeichen bei einem 256-Bit-Hash.<\/p>\n<p>Wichtig ist die Unterscheidung zwischen einer einfachen und einer kryptografischen Hashfunktion. Einfache Hashfunktionen, wie sie in Hashtabellen einer Programmiersprache stecken, verteilen Daten nur schnell und gleichm\u00e4\u00dfig auf Speicherpl\u00e4tze. Eine kryptografische Hashfunktion muss zus\u00e4tzlich strenge Sicherheitsgarantien erf\u00fcllen. Wenn in der IT-Sicherheit von Hashfunktionen die Rede ist, sind fast immer die kryptografischen gemeint, und um die geht es hier.<\/p>\n<p>Einen breiteren \u00dcberblick \u00fcber das Themengebiet gibt unser <a href=\"\/de\/cryptography\/\">Kryptografie-Pillar<\/a>. Dort ordnen wir Hashing in das gr\u00f6\u00dfere Bild aus Verschl\u00fcsselung, Signaturen und Schl\u00fcsselverfahren ein.<\/p>\n<h2 id=\"die-kerneigenschaften-einer-kryptografischen-hashfunktion\">Die Kerneigenschaften einer kryptografischen Hashfunktion<\/h2>\n<p>Eine Hashfunktion ist nur dann brauchbar, wenn sie eine Reihe klar definierter Garantien einh\u00e4lt. F\u00e4llt auch nur eine davon, gilt das Verfahren als gebrochen.<\/p>\n<h3 id=\"deterministisch-und-schnell\">Deterministisch und schnell<\/h3>\n<p>Dieselbe Eingabe liefert stets dieselbe Ausgabe. Hashen Sie das Wort <code>kryptografie<\/code> heute, n\u00e4chstes Jahr oder auf einem anderen Rechner, erhalten Sie jedes Mal denselben Digest. Ohne diese Eigenschaft w\u00e4re kein Vergleich m\u00f6glich, denn der Sinn eines Hashs liegt im Wiedererkennen. Zugleich muss die Berechnung schnell gehen. Ein Server, der Millionen von Integrit\u00e4tspr\u00fcfungen pro Sekunde durchf\u00fchrt, kann sich keine langsame Funktion leisten. Bei der Passwortspeicherung dreht man dieses Argument bewusst um, dazu sp\u00e4ter mehr.<\/p>\n<h3 id=\"feste-ausgabelange\">Feste Ausgabel\u00e4nge<\/h3>\n<p>Die L\u00e4nge des Hashwerts \u00e4ndert sich nie, ganz gleich wie gro\u00df die Eingabe ist. Eine leere Zeichenkette und ein kompletter Roman ergeben bei SHA-256 beide exakt 256 Bit. Diese Konstanz macht Hashwerte g\u00fcnstig zu speichern, zu vergleichen und zu \u00fcbertragen.<\/p>\n<h3 id=\"einwegfunktion-und-preimage-resistenz\">Einwegfunktion und Preimage-Resistenz<\/h3>\n<p>Aus einem gegebenen Hashwert l\u00e4sst sich die urspr\u00fcngliche Eingabe nicht mit vertretbarem Aufwand zur\u00fcckrechnen. Die Funktion wirft beim Verarbeiten Struktur weg, sodass eine Umkehrung das Durchsuchen eines astronomisch gro\u00dfen Raums bedeuten w\u00fcrde. Diese Einwegeigenschaft erlaubt es, einen Fingerabdruck sensibler Daten zu speichern, ohne die Daten selbst aufzubewahren. Genau das passiert bei der Passwortspeicherung.<\/p>\n<h3 id=\"zweite-preimage-und-kollisionsresistenz\">Zweite-Preimage- und Kollisionsresistenz<\/h3>\n<p>Zwei eng verwandte Garantien erg\u00e4nzen die Einwegeigenschaft. Bei der Zweite-Preimage-Resistenz gilt: Zu einer bekannten Eingabe darf sich keine zweite, andere Eingabe finden lassen, die denselben Hashwert erzeugt. Die Kollisionsresistenz geht noch weiter und verlangt, dass es generell unm\u00f6glich ist, irgendein Paar verschiedener Eingaben mit identischem Hashwert zu finden. Der Unterschied ist subtil, aber bedeutsam: Bei der zweiten Preimage ist die erste Eingabe vorgegeben, bei einer Kollision darf der Angreifer beide frei w\u00e4hlen.<\/p>\n<p>Kollisionen existieren mathematisch zwangsl\u00e4ufig, da unendlich viele Eingaben auf endlich viele Ausgaben treffen. Das Sicherheitsversprechen lautet nicht, dass es keine Kollisionen gibt, sondern dass niemand sie in praktikabler Zeit finden kann.<\/p>\n<h3 id=\"lawineneffekt\">Lawineneffekt<\/h3>\n<p>\u00c4ndert sich auch nur ein einziges Bit der Eingabe, kippt im Schnitt die H\u00e4lfte aller Ausgabebits. Es gibt kein allm\u00e4hliches Abdriften: Eine winzige \u00c4nderung erzeugt einen Digest, der mit dem urspr\u00fcnglichen nichts mehr gemein hat. Diesen Lawineneffekt kann man an einem kurzen Beispiel beobachten.<\/p>\n<pre><code>Eingabe:  &quot;shattered&quot;\nSHA-256:  4c9c8f3b... (ein fester 64-Zeichen-Hex-Digest)\n\nEingabe:  &quot;shattereD&quot;   (nur der letzte Buchstabe wechselt die Gro\u00dfschreibung)\nSHA-256:  e1b7a402... (ein v\u00f6llig anderer 64-Zeichen-Digest)\n<\/code><\/pre>\n<p>Beide Eingaben sind neun Zeichen lang und unterscheiden sich um ein einziges Bit. Dennoch \u00e4hneln sich die Digests in keiner Weise, und beide bleiben exakt 64 Hexzeichen lang. Genau diese Empfindlichkeit macht den Hash zum verl\u00e4sslichen W\u00e4chter gegen Manipulation: Jede noch so kleine \u00c4nderung wird laut.<\/p>\n<h2 id=\"hashing-verschlusselung-und-kodierung-drei-verschiedene-dinge\">Hashing, Verschl\u00fcsselung und Kodierung: drei verschiedene Dinge<\/h2>\n<p>Diese drei Begriffe werden oft verwechselt, obwohl sie v\u00f6llig unterschiedliche Aufgaben l\u00f6sen.<\/p>\n<p><strong>Hashing<\/strong> ist eine Einbahnstra\u00dfe. Es erzeugt einen Fingerabdruck, der sich nicht zur\u00fcckrechnen l\u00e4sst, und kommt ohne Schl\u00fcssel aus. Man setzt es ein, um etwas zu \u00fcberpr\u00fcfen, ohne die Sache selbst zu speichern.<\/p>\n<p><strong>Verschl\u00fcsselung<\/strong> ist umkehrbar. Daten werden mit einem Schl\u00fcssel verschleiert, und wer den passenden Schl\u00fcssel besitzt, stellt das Original wieder her. Der ganze Zweck besteht darin, die Nachricht sp\u00e4ter wieder lesbar zu machen. Eine Merkhilfe: Verschl\u00fcsselung h\u00fctet ein Geheimnis, das man sp\u00e4ter enth\u00fcllen will, w\u00e4hrend Hashing einen Fingerabdruck schafft, den man nie umkehren m\u00f6chte.<\/p>\n<p><strong>Kodierung<\/strong> schlie\u00dflich hat mit Sicherheit nichts zu tun. Verfahren wie Base64 wandeln Daten lediglich in ein anderes Format um, damit sie sich speichern oder \u00fcbertragen lassen. Jeder kann eine Kodierung ohne Schl\u00fcssel und ohne Geheimnis r\u00fcckg\u00e4ngig machen. Wer glaubt, mit Base64 etwas zu sch\u00fctzen, irrt: Es verschleiert nichts.<\/p>\n<h2 id=\"gangige-hashfunktionen-und-ihr-status\">G\u00e4ngige Hashfunktionen und ihr Status<\/h2>\n<p>Die meisten Hashfunktionen, denen man in freier Wildbahn begegnet, geh\u00f6ren zu einer Handvoll bekannter Designs. Ihr Sicherheitsstatus unterscheidet sich allerdings drastisch.<\/p>\n<p><strong>MD5<\/strong> erzeugt einen 128-Bit-Digest und war einst \u00fcberall im Einsatz. Heute gilt es als vollst\u00e4ndig gebrochen, denn Kollisionen lassen sich in Sekunden auf einem Laptop erzeugen. MD5 taucht noch als reine Pr\u00fcfsumme gegen zuf\u00e4llige \u00dcbertragungsfehler auf, darf aber nie dort verwendet werden, wo ein Angreifer von einer gef\u00e4lschten \u00dcbereinstimmung profitieren k\u00f6nnte.<\/p>\n<p><strong>SHA-1<\/strong> liefert einen 160-Bit-Digest und war \u00fcber Jahre das Arbeitspferd des Webs. Theoretische Schw\u00e4chen zeigten sich bereits 2005, der entscheidende Schlag fiel jedoch 2017 mit der ersten praktischen Kollision. Mehr dazu im Abschnitt zum Kollisionsangriff und in unserer Analyse der <a href=\"\/de\/cryptography\/sha1-kollision\/\">SHA-1-Kollision<\/a>.<\/p>\n<p><strong>SHA-256<\/strong> geh\u00f6rt zur SHA-2-Familie und ist heute der Standard f\u00fcr die meisten Anwendungen. Mit 256 Bit Ausgabe und ohne bekannten praktischen Angriff sichert es TLS-Zertifikate, Software-Signaturen und das Bitcoin-Netzwerk. Wie das Verfahren intern aufgebaut ist, erkl\u00e4rt unser <a href=\"\/de\/cryptography\/sha-256\/\">SHA-256-Artikel<\/a> im Detail.<\/p>\n<p><strong>SHA-3<\/strong> ist ein neuerer Standard, der 2015 vom NIST verabschiedet wurde. Es beruht nicht auf der Merkle-Damg\u00e5rd-Konstruktion der \u00e4lteren Verfahren, sondern auf einer Schwammkonstruktion (englisch: Sponge) namens Keccak. SHA-3 wurde bewusst als strukturelle Reserve gew\u00e4hlt, damit eine k\u00fcnftige Schw\u00e4che in SHA-2 nicht die gesamte Welt ohne Alternative zur\u00fcckl\u00e4sst.<\/p>\n<table>\n<thead>\n<tr>\n<th>Hashfunktion<\/th>\n<th>Ausgabel\u00e4nge<\/th>\n<th>Jahr<\/th>\n<th>Status<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>MD5<\/td>\n<td>128 Bit<\/td>\n<td>1992<\/td>\n<td>Gebrochen, meiden<\/td>\n<\/tr>\n<tr>\n<td>SHA-1<\/td>\n<td>160 Bit<\/td>\n<td>1995<\/td>\n<td>Gebrochen (Kollision 2017), abgel\u00f6st<\/td>\n<\/tr>\n<tr>\n<td>SHA-256 (SHA-2)<\/td>\n<td>256 Bit<\/td>\n<td>2001<\/td>\n<td>Sicher, empfohlen<\/td>\n<\/tr>\n<tr>\n<td>SHA-3<\/td>\n<td>224 bis 512 Bit<\/td>\n<td>2015<\/td>\n<td>Sicher, alternatives Design<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"wofur-hashfunktionen-verwendet-werden\">Wof\u00fcr Hashfunktionen verwendet werden<\/h2>\n<p>Hashing taucht \u00fcberall dort auf, wo ein vertrauensw\u00fcrdiger Fingerabdruck gebraucht wird.<\/p>\n<h3 id=\"passwort-speicherung-mit-salt\">Passwort-Speicherung mit Salt<\/h3>\n<p>Vern\u00fcnftige Dienste speichern niemals Ihr Passwort im Klartext. Stattdessen hinterlegen sie dessen Hashwert. Bei der Anmeldung wird das eingegebene Passwort erneut gehasht und mit dem gespeicherten Wert verglichen. Ein Datenbankleck gibt Angreifern so nicht die Klartext-Passw\u00f6rter in die Hand.<\/p>\n<p>Damit das funktioniert, kommt ein sogenanntes Salt hinzu: ein zuf\u00e4lliger Wert, der vor dem Hashen an jedes Passwort angeh\u00e4ngt wird. Das Salt sorgt daf\u00fcr, dass zwei Nutzer mit demselben Passwort verschiedene Hashwerte erhalten, und macht vorberechnete Angriffstabellen (Rainbow Tables) wertlos. Wichtig ist au\u00dferdem, dass man f\u00fcr Passw\u00f6rter gerade keine schnelle Hashfunktion nimmt. Empfohlen werden absichtlich langsame, speicherintensive Verfahren wie bcrypt, scrypt oder Argon2, die das massenhafte Durchprobieren f\u00fcr Angreifer teuer machen.<\/p>\n<h3 id=\"datei-prufsummen-und-integritat\">Datei-Pr\u00fcfsummen und Integrit\u00e4t<\/h3>\n<p>Software-Projekte ver\u00f6ffentlichen neben ihren Downloads h\u00e4ufig einen SHA-256-Hashwert. Nach dem Herunterladen bilden Sie selbst den Hash der Datei und vergleichen ihn mit dem angegebenen Wert. Stimmen beide \u00fcberein, ist die Datei unver\u00e4ndert angekommen. Wegen des Lawineneffekts kippt ein einziges ver\u00e4ndertes Bit den gesamten Digest, weshalb diese Pr\u00fcfung gnadenlos zuverl\u00e4ssig ist.<\/p>\n<h3 id=\"digitale-signaturen\">Digitale Signaturen<\/h3>\n<p>Signaturen verbinden Hashing mit Public-Key-Kryptografie und beweisen Urheberschaft und Integrit\u00e4t zugleich. Statt das gesamte Dokument zu signieren, hasht man es zun\u00e4chst und verschl\u00fcsselt diesen Hashwert mit dem privaten Schl\u00fcssel. Jeder, der den \u00f6ffentlichen Schl\u00fcssel besitzt, kann die Signatur zur\u00fcck zum Hashwert entschl\u00fcsseln, das Dokument selbst hashen und beide Werte vergleichen. Wie dieser Ablauf im Einzelnen funktioniert und wo er scheitern kann, behandelt unser Artikel zu <a href=\"\/de\/cryptography\/digitale-signaturen\/\">digitalen Signaturen<\/a>.<\/p>\n<p>Hier wird auch deutlich, warum eine gebrochene Hashfunktion f\u00fcr Signaturen gef\u00e4hrlich ist. Kann ein Angreifer zwei Dokumente mit identischem Hashwert herstellen, gilt eine Signatur \u00fcber das harmlose Dokument automatisch auch f\u00fcr das b\u00f6sartige.<\/p>\n<h3 id=\"blockchains\">Blockchains<\/h3>\n<p>In einer Blockchain identifiziert ein Hashwert jeden Block, und jeder Block enth\u00e4lt zugleich den Hash seines Vorg\u00e4ngers. So entsteht eine Kette, in der sich kein \u00e4lterer Block \u00e4ndern l\u00e4sst, ohne alle folgenden Hashes ung\u00fcltig zu machen. Bitcoin nutzt SHA-256 zus\u00e4tzlich f\u00fcr den Proof-of-Work: Miner hashen Blockk\u00f6pfe immer wieder, bis ein Ergebnis unter einem Zielwert liegt. Die Einwegeigenschaft und der Lawineneffekt machen dieses R\u00e4tsel schwer zu l\u00f6sen, aber trivial zu \u00fcberpr\u00fcfen, genau die Asymmetrie, die ein dezentrales Netzwerk braucht.<\/p>\n<h2 id=\"was-ein-kollisionsangriff-ist\">Was ein Kollisionsangriff ist<\/h2>\n<p>Ein Kollisionsangriff zielt darauf ab, zwei verschiedene Eingaben zu finden, die denselben Hashwert ergeben. Gelingt das in praktikabler Zeit, ist die Kollisionsresistenz gebrochen, und alle darauf aufbauenden Sicherheitsversprechen brechen mit. Eine Signatur, eine Zertifikats-Pr\u00fcfsumme oder eine Integrit\u00e4tsgarantie reduziert eine Datei stets auf ihren Hash und verl\u00e4sst sich darauf, dass dieser eindeutig ist. Teilen sich zwei Dateien einen Hash, zerbricht die Verbindung zwischen dem, was genehmigt wurde, und dem, was tats\u00e4chlich ankommt.<\/p>\n<p>Genau dieser Angriff wurde 2017 mit dem Projekt SHAttered Wirklichkeit, an dem Forscher der Cryptology Group am CWI Amsterdam und von Google beteiligt waren. Sie erzeugten zwei verschiedene PDF-Dateien mit identischem SHA-1-Hashwert und bewiesen damit, dass die Kollisionsresistenz von SHA-1 in der Praxis gefallen war. Die ausf\u00fchrliche Aufarbeitung samt der Frage, warum SHA-1 verwundbar war, finden Sie in unserer <a href=\"\/de\/cryptography\/sha1-kollision\/\">Analyse der SHA-1-Kollision<\/a>.<\/p>\n<h2 id=\"haufig-gestellte-fragen\">H\u00e4ufig gestellte Fragen<\/h2>\n<h3 id=\"ist-hashing-eine-form-der-verschlusselung\">Ist Hashing eine Form der Verschl\u00fcsselung?<\/h3>\n<p>Nein. Verschl\u00fcsselung ist mit einem Schl\u00fcssel umkehrbar, Hashing dagegen ein Einweg-Fingerabdruck ohne R\u00fcckweg. Beide werden oft gemeinsam eingesetzt, sind aber unterschiedliche Werkzeuge f\u00fcr unterschiedliche Aufgaben.<\/p>\n<h3 id=\"konnen-zwei-verschiedene-dateien-denselben-hashwert-haben\">K\u00f6nnen zwei verschiedene Dateien denselben Hashwert haben?<\/h3>\n<p>Theoretisch ja, denn unendlich viele Eingaben treffen auf endlich viele m\u00f6gliche Ausgaben. Bei einer sicheren Funktion wie SHA-256 w\u00e4re das Auffinden eines solchen Paares jedoch rechnerisch nicht durchf\u00fchrbar, und bislang wurde keine SHA-256-Kollision gefunden. Bei MD5 und SHA-1 hingegen lassen sich Kollisionen heute erzeugen.<\/p>\n<h3 id=\"welche-hashfunktion-sollte-ich-verwenden\">Welche Hashfunktion sollte ich verwenden?<\/h3>\n<p>F\u00fcr die meisten Zwecke ist SHA-256 die sichere Standardwahl. SHA-3 ist eine solide Alternative mit anderem Aufbau. F\u00fcr die Passwortspeicherung greifen Sie nicht zu einer schnellen Hashfunktion, sondern zu einem eigens daf\u00fcr gebauten, langsamen Verfahren wie bcrypt, scrypt oder Argon2.<\/p>\n<h3 id=\"warum-gilt-sha-1-als-gebrochen-obwohl-es-noch-hashwerte-erzeugt\">Warum gilt SHA-1 als gebrochen, obwohl es noch Hashwerte erzeugt?<\/h3>\n<p>Die Funktion l\u00e4uft technisch weiterhin, doch Forscher fanden 2017 einen Weg, zwei verschiedene Eingaben mit demselben SHA-1-Digest zu erzeugen. Sobald Kollisionen praktisch machbar sind, l\u00e4sst sich das Verfahren f\u00fcr Signaturen und Zertifikate nicht mehr vertrauen, auch wenn es noch Ausgaben liefert.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eine Hashfunktion verwandelt beliebige Daten in einen Fingerabdruck fester L\u00e4nge. Egal ob Sie ein einzelnes Zeichen, ein Passwort oder ein mehrere Gigabyte gro\u00dfes Festplatten-Image hineingeben: Heraus kommt immer eine Zeichenkette\u2026<\/p>\n","protected":false},"author":10,"featured_media":12,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-5","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptography"],"_links":{"self":[{"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/posts\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":1,"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":15,"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/posts\/5\/revisions\/15"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/media\/12"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/de\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}