ForHosting KIT · Entwickler-Tools

BSD-Pruefsumme

Der Text „abc“ ergibt die BSD-Prüfsumme 16556, hexadezimal 40ac, in 1 Block: dasselbe Paar, das der alte Unix-Befehl sum im BSD-Modus ausgibt. Praktisch, um alte Skripte, Bandetiketten und Lehrbuchaufgaben nachzuprüfen. 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
abc
Erhalten Sie
Ergebnis
40ac
Prüfsumme
16.556
Hex
40ac
Dezimal
16.556

Der klassische BSD-sum-Algorithmus ist die sechzehn Bit breite Rotate-and-Add-Prüfsumme des historischen Unix-Befehls sum im BSD-Modus (auf GNU-Systemen oft als sum -r aufgerufen). Anders als zyklische Redundanzprüfungen aktualisiert er ein einzelnes sechzehn-Bit-Register, indem er es um ein Bit nach rechts rotiert und jedes Nachrichtenbyte addiert, und meldet anschließend eine Blockanzahl in Einheiten von eintausendvierundzwanzig Bytes. Ingenieure, die alte Bandetiketten vergleichen, Studierende, die die sum-Ausgabe aus Lehrbüchern nachvollziehen, und Support-Teams, die kurze Textfragmente gegen alte Skripte prüfen, brauchen oft dasselbe deterministische Paar: den vorzeichenlosen Checksum-Wert und die Blockspalte. Dieses BSD-Checksum-Werkzeug nimmt nicht leeren Text an, kodiert ihn als UTF-8, führt die Rotate-and-Add-Schleife aus und liefert den sechzehn-Bit-Wert dezimal sowie als vier hexadezimale Ziffern in Kleinbuchstaben zusammen mit der Blockanzahl, der Algorithmusbezeichnung, der Bytelänge und einer kurzen Zusammenfassung.

Was das klassische BSD sum berechnet und warum die Blockanzahl zählt

Die BSD-Prüfsumme behandelt jede Nachricht als Bytefolge und führt einen sechzehn-Bit-Akkumulator, der bei null beginnt. Für jedes Byte wird das Register zuerst innerhalb von sechzehn Bits um ein Bit nach rechts rotiert — das niedrigstwertige Bit wandert ins hohe Bit — und anschließend der Bytewert addiert, wobei die Summe wieder auf sechzehn Bits maskiert wird. Am Ende des Stroms ist diese vorzeichenlose Ganzzahl die Checksum-Spalte der klassischen sum-Ausgabe.

Zusätzlich meldet das Werkzeug, wie viele Blöcke zu eintausendvierundzwanzig Bytes die Nachricht belegt, per Aufrundung der UTF-8-Länge: jede nicht leere Nutzlast von einem bis eintausendvierundzwanzig Bytes ergibt einen Block, das nächste Kilobyte startet einen zweiten Block und so weiter. Weil BSD sum weder kollisionsresistent noch schlüsselgebunden ist, behandeln Sie es als schnelle Legacy-Integritäts- oder Framing-Prüfung, nicht als Authentizitätsbeweis; bevorzugen Sie Digests der SHA-Familie, wenn die Suchintention kryptografisches Hashing und nicht die klassische Rotate-and-Add-Prüfsumme ist.

Wo sich eine BSD-Prüfsumme heute noch lohnt

Autoren von Legacy-Systemen und Studierende der Unix-Geschichte nutzen einen BSD-Checksum-Rechner, um handberechnete Rotate-and-Add-Schritte gegen sum -r zu prüfen, ohne in jeder Sprache eine vollständige coreutils-Umgebung zu installieren. Lehrplattformen und LMS-Plugins brauchen ein deterministisches Orakel, das leere Eingabe ablehnt statt Nullen für die leere Nachricht zurückzugeben, damit Auto-Bewertungen fehlende Antworten von einer echten Prüfsumme trennen. Content-Seiten, die für BSD-Checksum, sum-Befehl-Prüfsumme oder klassisches Unix sum ranken, profitieren von einem Live-Tool, dessen freier Pfad byteweise mit der bezahlten Automatisierung auf demselben reinen Modul übereinstimmt.

Validierungsfehler verbrauchen nach Ablehnung nie Guthaben. Kombinieren Sie es mit System-V-sum-, CRC-16- oder kryptografischen Hash-Landings nur, wenn die Suchintention über klassisches BSD-Rotate-and-Add hinausgeht — halten Sie diese Seite auf BSD sum fokussiert, damit die SEO-Intention scharf bleibt und Adler-32- oder CRC-16-Landings nicht kannibalisiert.

Legacy-Prüfung von sum -r

Reproduzieren Sie die klassische BSD-Prüfsumme und die 1024-Byte-Blockanzahl für eine kurze Textnutzlast beim Migrieren von Skripten, die noch das historische sum -r-Paar ausgeben.

Welchem Algorithmus entspricht dieses Werkzeug?

Dem klassischen BSD sum des historischen Unix sum und von GNU coreutils sum -r: für jedes Byte das sechzehn-Bit-Register um ein Bit nach rechts rotieren, dann das Byte addieren; die Blockanzahl ist ceil(length/1024).

Was passiert bei leerem Text?

Ein nicht leerer String ist erforderlich; leere Eingabe gilt nicht als erfolgreiche Prüfsumme null mit null Blöcken.

Ist BSD sum dasselbe wie System V sum oder CRC-16?

Nein. System V sum (-s) nutzt eine andere Akkumulation und 512-Byte-Blöcke. CRC-16 nutzt ein Polynomregister. Dieses Werkzeug implementiert nur klassisches BSD-Rotate-and-Add.

Was bedeutet die Blockzahl im Ergebnis?

Sie gibt an, wie viele Blöcke zu 1024 Byte der Text in UTF-8 belegt, aufgerundet. Von 1 bis 1024 Byte zählt ein Block, mit dem nächsten Kilobyte beginnt der zweite.

Was passiert, wenn der Text leer ist?

Ein leerer Text wird bewusst abgelehnt, statt das theoretische Ergebnis null und null einer leeren Datei zu liefern. So lässt sich eine fehlende Eingabe nie mit einer echten Prüfsumme verwechseln.

Reicht die BSD-Prüfsumme als Schutz gegen Manipulation?

Nein. Sie ist weder kollisionsresistent noch mit einem Schlüssel versehen und dient nur als schnelle Prüfung aus alten Systemen. Für einen Echtheitsnachweis greifen Sie besser zu einem Hashwert der SHA-Familie.

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/bsd-sum

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/bsd-sum \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"abc"}'
{
  "text": "abc"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.bsd_sum",
  "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 ein fehlendes Feld nicht mit dem Null-Null-Bericht einer leeren Datei des klassischen Befehls verwechseln.

Eingabevertrag, Fehler bei leerer Zeichenkette und JSON-Antwortform

Die Zeichenkette wird vor der BSD-Schleife als UTF-8 kodiert, sodass Mehrbyte-Zeichen jede Codeeinheit genau so beitragen, wie es ein dateiorientiertes sum beim selben UTF-8-Strom täte. Leere Eingabe wird absichtlich abgelehnt statt des theoretischen Leerdatei-Paars null null, damit Produkt-UX und Auto-Bewertung fehlende Antworten von einer echten Prüfsumme unterscheiden. Verankern Sie sowohl einen Erfolgs- als auch den Leer-Eingabe-Fehlerpfad in der Continuous Integration, damit versehentliche Änderungen der Rotationsrichtung oder der Blockgröße nicht unbemerkt ausgeliefert werden. Optionale Nullfelder werden weggelassen statt als null ausgegeben, gemäß dem deklarativen Renderer-Vertrag für saubere Webformulare. Senden Sie einen JSON-Body mit einem einzigen Pflicht-Stringfeld namens text: jede nicht leere Zeichenfolge, deren Prüfsumme Sie berechnen wollen. Die Aliase input, value, s, data, message und payload werden für dasselbe Feld akzeptiert, damit SDK-Stubs und Formularposts flexibel bleiben. Fehlt text, ist der Wert kein String oder ist der String leer, schlägt die Anfrage mit invalid_input und einer klaren Meldung fehl, dass ein nicht leerer String erforderlich ist; solche Fehler werden auf der vorausbezahlten API nicht berechnet. Bei Erfolg enthält der Body result und hex mit derselben vierstelligen hexadezimalen Checksum in Kleinbuchstaben; checksum und decimal mit der vorzeichenlosen sechzehn-Bit-Ganzzahl; blocks mit der Blockanzahl zu eintausendvierundzwanzig Bytes; algorithm fest auf BSD sum; input_bytes gleich der UTF-8-Länge; text als Echo der Eingabe; und message mit Zusammenfassung von Bytezählung, Dezimalwert, Hex und Blöcken.

Wo eine BSD-Checksum-API sich lohnt und wie die Preisgestaltung funktioniert

Nutzen Sie das kostenlose Browser-Tool für Einzelprüfungen; rufen Sie die vorausbezahlte KIT-API aus Backends, Serverless-Funktionen und SDKs auf, wenn Sie einen stabilen Vertrag unter Guthaben zu $0.002 pro erfolgreichem Item brauchen. Halten Sie Payloads auf gewöhnlichen Textgrößen, die für einen Worker-Isolate-Item-Aufruf geeignet sind; dieses Werkzeug ist für kurze Zeichenketten und Protokollausschnitte, nicht für Multi-Megabyte-Binaries.

Rotate-and-Add-Demos im Unterricht

Lehrkräfte zeigen, wie eine sechzehn-Bit-Rechtsrotation plus Addition die bekannten Fixtures abc und Hello liefert, ohne coreutils auf jeder Schülermaschine zu installieren.

CI-Fixtures für Legacy-Integritätshelfer

Pipelines verankern deterministische BSD-sum-Ausgaben in Dezimal, Hex und blocks plus den Leer-Eingabe-Fehler, damit versehentliche Rotations- oder Blockgrößen-Änderungen sofort scheitern.

Wie berechne ich eine BSD-Prüfsumme eines Texts?

Senden Sie JSON mit einem nicht leeren Stringfeld text. Die API kodiert die Zeichenkette als UTF-8, führt die klassische BSD-sum-Rotate-and-Add-Schleife aus und liefert den sechzehn-Bit-Wert dezimal sowie als vier hexadezimale Kleinbuchstaben-Ziffern plus die 1024-Byte-Blockanzahl.

Ist der BSD-Checksum-Rechner kostenlos?

Das Browser-Tool läuft kostenlos auf Ihrem Gerät. API-Aufrufe nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Item; Validierungsfehler werden nicht berechnet.

Vollständige KIT-Dokumentation lesen →