ForHosting KIT · Entwickler-Tools

djb2-Hash-Rechner

Fügen Sie ein Wort ein und erhalten Sie den djb2-Fingerabdruck von Bernstein: hello ergibt 0f923099, als Zahl 261238937, genau wie der Code aus dem Lehrbuch. Er dient Hashtabellen, Cache-Schlüsseln und stabilen Gruppen, nie Passwörtern. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Text
hello
Erhalten Sie
Hash (Hex)
0f923099
Hash (Ganzzahl)
261.238.937
Hash (dezimal)
261238937
Länge
5

djb2 ist der klassische nicht-kryptografische String-Hash von Daniel J. Bernstein: man startet bei fünftausenddreihunderteinundachtzig und multipliziert für jedes Zeichen den laufenden Hash mit dreiunddreißig und addiert den Zeichencode, wobei nur die niedrigen zweiunddreißig Bits behalten werden. Entwickler greifen weiterhin zu djb2, wenn sie einen schnellen, deterministischen Fingerabdruck für Hashtabellen, Cache-Schlüssel, Deduplizierungskarten und Lehrmaterial brauchen, das mit Lehrbüchern und bekannten Codebeispielen übereinstimmen soll. Diese Fähigkeit akzeptiert einen nicht leeren Textstring, führt genau diesen Algorithmus über UTF-16-Codeeinheiten aus und liefert den zweiunddreißig Bit großen Rest als acht hexadezimale Ziffern in Kleinbuchstaben plus die passende vorzeichenlose Ganzzahl.

Wie djb2 aus Text eine Zahl macht

djb2 stammt von Daniel J. Bernstein und gehört zu den am häufigsten kopierten Hashverfahren für Zeichenketten. Es beginnt bei der Zahl 5381. Für jedes Zeichen des Textes wird die laufende Summe mit 33 multipliziert und der Code des Zeichens addiert; nach jedem Schritt bleiben nur die letzten 32 Bit erhalten, sodass das Ergebnis immer in einem festen Bereich liegt. Der Faktor 33 wird oft als Verschiebung um fünf Bit plus Ausgangswert geschrieben, was dasselbe ergibt. Das Ergebnis sehen Sie zweifach: als acht kleine Hexadezimalziffern, links mit Nullen aufgefüllt, und als vorzeichenlose Zahl. Für hello sind das 0f923099 beziehungsweise 261238937.

Wann djb2 passt und wann nicht

djb2 ist schnell, braucht kein Geheimnis und liefert für denselben Text immer dieselbe Zahl. Das passt zu Hashtabellen, Cache-Schlüsseln, dem Aufspüren von Duplikaten, stabilen Nutzergruppen und Übungen, die mit dem Lehrbuch übereinstimmen sollen. Für Passwörter oder die Prüfung, ob eine Datei unverändert ist, taugt es nicht: Bei nur 32 Bit können verschiedene Texte denselben Wert haben, und wer Eingaben gezielt wählt, findet solche Kollisionen. Leerer Text wird abgewiesen, statt einen Scheinwert zu erhalten.

Was djb2 ist und wann ein 32-Bit-String-Hash genügt

Nicht-kryptografische Hashes tauschen Kollisionsresistenz gegen Geschwindigkeit und Einfachheit. djb2 ist einer der am häufigsten kopierten Kompromisse: der Startwert fünftausenddreihunderteinundachtzig und der Multiplikator dreiunddreißig (oft als Fünf-Bit-Linksverschiebung plus Originalwert geschrieben) erzeugen eine gut gestreute zweiunddreißig-Bit-Ganzzahl für gewöhnliche kurze Strings ohne Tabellen, Geheimnisse oder Plattformabhängigkeiten. Bernstein veröffentlichte die Idee in der Public-Domain-Ära von C-String-Utilities; sie erscheint noch in Sprach-Runtimes, Spiele-Engines und Blogposts, weil Lernende sie in wenigen Zeilen umsetzen und dennoch eine nützliche Verteilung für Hashmaps erhalten.

Es ist kein Passwort-Hash, kein Integritätsdigest und kein Ersatz für SHA-256 oder BLAKE, wenn ein Angreifer Eingaben wählen könnte.

Feature-Flags und Routing-Buckets

Projizieren Sie Benutzer- oder Mandantenstrings in einen zweiunddreißig-Bit-Raum für konsistente A/B-Buckets ohne kryptografischen Overhead oder Geheimnismaterial.

Wie berechne ich einen djb2-Hash?

Senden Sie einen nicht leeren String im Feld text.

Welchen Algorithmus und Seed verwendet dies?

Klassisches djb2 von Daniel J. Bernstein: Anfangshash 5381, dann für jedes Zeichen hash = hash * 33 + charCode, gekürzt auf einen vorzeichenlosen 32-Bit-Wert.

Eignet sich djb2 für Passwörter oder Integrität?

Nein. djb2 ist ein schneller nicht-kryptografischer Fingerabdruck für Hashtabellen und Lehre. Nutzen Sie einen modernen kryptografischen Hash für Passwörter, Signaturen und Inhaltsintegrität.

Warum weicht mein djb2-Ergebnis von einem anderen Werkzeug ab?

Meist lässt das andere Werkzeug einen Schritt des klassischen Rezepts aus. Dieses beginnt bei 5381, multipliziert mit 33, addiert den Code jedes Zeichens und behält nach jedem Schritt nur die unteren 32 Bit ohne Vorzeichen, so wie der Referenzcode 0f923099 für hello erhält.

Wofür wird ein djb2-Hash verwendet?

Er gibt jedem Text eine schnelle, wiederholbare Zahl. Damit verteilen Sie Schlüssel in Hashtabellen, bilden Cache-Schlüssel, finden Duplikate und teilen Nutzer in stabile Testgruppen ein, wenn Tempo wichtiger ist als Schutz vor Angriffen.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/enc/djb2

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/enc/djb2 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"hello"}'
{
  "text": "hello"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.djb2",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Leere Eingabe wird mit invalid_input abgelehnt, damit Aufrufer eine Payload der Länge null nie mit einem echten Hash verwechseln.

Eingabevertrag, Ablehnung leerer Eingabe und Antwortfelder

Zahlen und Booleans werden akzeptiert, indem sie vor dem Hashen in Stringform umgewandelt werden, was einfache Rechner-Widgets ergonomisch hält. Fehlgeschlagene Validierung wird nicht berechnet. Der Algorithmus ist linear in der Stringlänge und vollständig im Speicher; halten Sie Browser-Demos bei alltäglichen Strings und pinnen Sie bekannte Vektoren wie hello gleich 0f923099 in der Continuous Integration, damit ein einzeiliges Refactoring den Vertrag nicht still ändert. Senden Sie per POST einen JSON-Körper mit dem Pflicht-Stringfeld text. Der Wert muss ein nicht leerer String sein; fehlendes text, null oder ein leerer String schlägt mit invalid_input fehl und einer Meldung, die leere oder fehlende Eingabe meldet, damit Formularoberflächen das Feld ohne Raten markieren können. Bei Erfolg enthält der Körper hash_hex als acht hexadezimale Kleinbuchstaben-Ziffern links mit Nullen aufgefüllt, hash_int als vorzeichenlose Ganzzahl von null bis vier Milliarden zweihundertvierundneunzig Millionen neunhundertsiebenundsechzigtausend zweihundertfünfundneunzig, hash_dec als dieselbe Ganzzahl im Dezimaltext, length als Zeichenzahl des gehashten Strings, algorithm fest auf djb2 und seed fest auf fünftausenddreihunderteinundachtzig, der den klassischen Startwert dokumentiert. Alias-Schlüssel data, payload, value, input und string werden für die Payload akzeptiert, damit SDK-Clients bestehende Feldnamen wiederverwenden.

Wo eine djb2-Hash-API ihren Nutzen bringt

Lehrkräfte und Interview-Coaches nutzen dieselbe deterministische Ausgabe, um Schülerimplementierungen des Multipliziere-mit-dreiunddreißig-Hashings zu bewerten, ohne eine Compiler-Farm aufzubauen. Content-Sites, die für djb2-Hash-Rechner ranken, gewinnen ein Live-Tool, dessen kostenloser Pfad Byte für Byte dem Automatisierungspfad entspricht. Backend-Teams automatisieren die API in Inbetriebnahme-Werkzeugen, die Cache-Shards, Feature-Flag-Buckets oder Log-Routing-Schlüssel zuweisen und goldene hash_hex-Werte pinnen, damit eine Plattformmigration den Verkehr nie versehentlich umordnet. Weil die Implementierung reines Parse-Tier A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Token und ohne ausgehendes Netz. Halten Sie Anfragen deterministisch, lehnen Sie leere Payloads am Rand ab, und Sie erhalten lehrbuchtaugliche Reproduzierbarkeit, ohne djb2-Schnipsel in jeden Microservice einzubetten.

Fingerabdrücke für Hashtabellen und Cache-Schlüssel

Hashen Sie kurze Kennungen mit djb2 und speichern Sie hash_hex oder hash_int als kompakten, sprachunabhängigen Fingerabdruck für Maps, Caches und Bucket-Zuweisung.

Lehre und goldene Testvektoren

Stellen Sie sicher, dass Schüler- oder Bibliothekscode hash_hex 0f923099 für hello und 7c9e6865 für test erzeugt, damit djb2-Ports über Runtimes hinweg ausgerichtet bleiben.

Was passiert bei leerem Text?

Leerer oder fehlender Text schlägt mit invalid_input und einer Meldung zu leerer Eingabe fehl. Diese Fehler werden nicht berechnet.

Was kostet das djb2-Hash-Werkzeug?

Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen das vorausbezahlte KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →