Nullbreiten-Zeichen-Kodierer
Versteckt ein Geheimnis mit unsichtbaren Unicode-Zeichen in gewöhnlichem Text: „Hi“ in „Hello world“ wird zu 18 Nullbreitenzeichen, die niemand sieht, und das Dekodieren holt es wieder hervor. Praktisch für Wasserzeichen und Unterricht, aber keine Verschlüsselung. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Geheimer Schlüssel
- Hi
- Tarntext
- Hello world
- Berechnungsmodus
- encode
- Ergebnis
- Hello world
- Kodierung
- zero_width
- Länge des Geheimtexts
- 2
- Länge des Tarntexts
- 11
Nullbreiten-Zeichen sind Unicode-Codepunkte ohne sichtbare Breite, sodass gewöhnliche Leser sie nicht bemerken, während Parser und Kopieren-Einfügen die Bytes weitertragen. Dieser Nullbreiten-Zeichen-Kodierer wandelt eine geheime UTF-8-Zeichenkette in einen Strom aus U+200B- und U+200C-Symbolen um, gerahmt von Markern U+200D und U+FEFF, und fügt diese unsichtbare Nutzlast nach dem ersten Zeichen in den Decktext ein. Die Dekodierung sucht denselben Rahmen, baut Bits zu Bytes zusammen und liefert das ursprüngliche Geheimnis zurück.
Wie Nullbreiten-Bitkodierung ein Geheimnis vor aller Augen versteckt
Der sichtbare Decktext bleibt lesbar, weil die Nutzlast nur Formatzeichen mit Nullvorschubbreite verwendet. Der Kodierer wandelt das Geheimnis zuerst in UTF-8-Bytes um und durchläuft dann jedes Bit vom höchst- zum niedrigstwertigen innerhalb jedes Bytes. Bit null wird zu U+200B (ZERO WIDTH SPACE), Bit eins zu U+200C (ZERO WIDTH NON-JOINER).
Ein Startmarker U+200D und ein Endmarker U+FEFF umrahmen diesen Bitstrom, damit die Dekodierung fremde unsichtbare Zeichen im Dokument ignorieren und dennoch eine klar definierte Nutzlast wiederherstellen kann. Weil jeder Schritt reine String- und Byte-Arithmetik ist, erzeugen dasselbe Geheimnis und derselbe Decktext auf jeder Runtime denselben Steganografie-Text.
Wo ein Nullbreiten-Kodierer in Produkt und Lehre Nutzen stiftet
Sicherheits- und Datenschutz-Workshops nutzen einen Nullbreiten-Zeichen-Kodierer, damit Lernende Stego-Text in Chat oder Dokument einfügen, prüfen, dass die Nachricht weiterhin sauber wirkt, und sie dann in einem zweiten Schritt dekodieren und die Bitkarte im Feld formula sehen. Weil die Implementierung reines Parse ohne Modell-Tokens und ohne ausgehendes Netz ist, bleibt die Latenz am analytischen Boden und die Kosten planbar. Bevorzugen Sie dieses Werkzeug, wenn die Aufgabe Verstecken und Enthüllen mit Unicode-Formatzeichen ist; wählen Sie echte Kryptografie-Bibliotheken, wenn Vertraulichkeit unter Angriff gefordert ist.
Dokumentieren Sie für Endnutzer, dass manche Plattformen Nullbreiten-Zeichen beim Senden normalisieren oder entfernen; führen Sie daher stets einen Roundtrip per decode nach dem tatsächlichen Kanal durch, der Sie betrifft.
Anwendungsfälle
Steganografie-Demos im Unterricht
Zeigen Sie Lernenden, wie unsichtbare Unicode-Bits ein kurzes Geheimnis in gewöhnlichen Decksätzen verbergen, und enthüllen Sie es danach mit decode im selben deterministischen Modul.
Wasserzeichen gegen Entwurfslecks
Betten Sie eine Team- oder Ticket-ID als Nullbreiten-Bits in Marketing-Mustertexte ein, damit durchgesickerte Einfügungen zuordenbar bleiben, ohne das sichtbare Layout zu ändern.
Häufige Fragen
Wie enthülle ich eine verborgene Nachricht?
Rufen Sie mit mode decode auf und übergeben Sie den Stego-String als text.
Welche Unicode-Zeichen werden verwendet?
Bit 0 ist U+200B, Bit 1 ist U+200C, der Startmarker ist U+200D und der Endmarker ist U+FEFF.
Ist das Verschlüsselung?
Nein. Nullbreiten-Kodierung versteckt Bits nur vor Gelegenheitslesern. Nutzen Sie Kryptografie, wenn Sie Vertraulichkeit brauchen.
Wie verstecke ich eine Nachricht in einem Text?
Geben Sie das Geheimnis und den sichtbaren Decktext ein. Das Geheimnis wird zu unsichtbaren Bits, eingerahmt von einer Start- und einer Endmarke, und direkt nach dem ersten Zeichen des Decktexts eingefügt, der sich weiterhin genauso liest.
Übersteht die versteckte Nachricht Kopieren und Einfügen?
Meistens ja, denn die unsichtbaren Zeichen reisen mit dem Text. Manche Apps normalisieren oder entfernen Nullbreitenzeichen beim Senden; dekodieren Sie den Text deshalb einmal, nachdem er den für Sie wichtigen Weg genommen hat, und prüfen Sie, ob das Geheimnis noch da ist.
Verwandte Tools
Für Entwickler — API-Zugang
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.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/zero-width \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"encode","op":"encode"}'const res = await fetch("https://api.kit.forhosting.com/enc/zero-width", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "encode",
"op": "encode"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/zero-width",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "encode",
"op": "encode"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/zero-width", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"encode","op":"encode"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"encode","op":"encode"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/zero-width", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"mode": "encode",
"op": "encode"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.zero_width",
"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.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Ungültige Marker, unvollständige Bitgruppen oder fehlende Felder scheitern mit invalid_input und werden nicht berechnet. Das Werkzeug ist keine Verschlüsselung — wer das Schema kennt, kann die Nutzlast extrahieren — nutzen Sie es daher als Lehrmittel, leichte Wasserzeichen-Schicht oder Demo, nicht als Geheimnisgrenze.
Wie Nullbreiten-Bitkodierung ein Geheimnis vor aller Augen versteckt
Die Dekodierung kehrt den Weg um: ersten Startmarker und nächsten Endmarker finden, dazwischen nur U+200B und U+200C akzeptieren, Bitanzahl als Vielfaches von acht verlangen, Bytes zusammensetzen und UTF-8 mit fatalem Decoder dekodieren, damit beschädigte Ströme als invalid_input statt als unlesbarer Text erscheinen. Dieser Vertrag entspricht Unterrichtserklärungen zur Steganografie, ohne den Kanal als vertraulich auszugeben: Nullbreiten-Verstecken betrifft Unsichtbarkeit in der Oberfläche, nicht Widerstand gegen einen motivierten Leser, der Codepunkte prüft.
Eingabevertrag, Modi, Antwortform und Fehler
Senden Sie mode encode oder decode. 100000 Zeichen). 200000 Zeichen). Mode-Aliasse umfassen hide und embed für encode sowie reveal oder extract für decode; Standard ist encode, wenn mode weggelassen wird. Encode verlangt ein nicht leeres secret (Aliasse message oder payload, max. 4096 Zeichen) und nicht leeren Decktext (auch als text, input, value oder data akzeptiert, max. Decode verlangt nicht leeres text mit gerahmter Nutzlast (Aliasse cover, input, value, data oder stego, max. Bei erfolgreichem Encode enthält der Body result (Stego-String), mode, encoding zero_width, secret_length, cover_length, result_length, byte_count, bit_count, zero_width_count, formula und eine kurze Meldung, wie viele UTF-8-Bytes verborgen wurden. Bei erfolgreichem Decode enthält der Body result und secret (die enthüllte Zeichenkette), mode, encoding, Längen, Bit- und Byte-Zähler, zero_width_count, formula und eine Enthüllungsnachricht. Fehlende Felder, leere Strings, unbekannter mode, fehlende Start- oder Endmarker, Nicht-Bit-Zeichen im Rahmen, verschachtelte Marker, eine Bitlänge, die kein Vielfaches von acht ist, oder ungültiges UTF-8 nach der Bit-Zusammenstellung werfen invalid_input mit klarer englischer Meldung. Diese Fehler verbrauchen kein Prepaid-Guthaben. Halten Sie Nutzlasten für Widgets bescheiden und fixieren Sie result-Strings in Tests — Nullbreiten-Zeichen sind echtes Unicode, JSON-Beispiele müssen sie exakt bewahren.
Wo ein Nullbreiten-Kodierer in Produkt und Lehre Nutzen stiftet
QA-Teams injizieren unsichtbare Wasserzeichen in Marketing-Mustertexte, um zu erkennen, wenn Entwürfe über unkontrollierte Einfügepfade lecken; ein deterministischer API-Aufruf zu $0.002 pro erfolgreichem Item ist günstiger als ein eigener Worker für ein einmaliges Skript.
Integrationsbeispiele
CI-Prüfungen für Einfügepipelines
Kodieren Sie ein bekanntes Geheimnis in Fixtures, schicken Sie sie durch Editor oder Chat-Integration und dekodieren Sie, um zu prüfen, ob Nullbreiten-Zeichen den Pfad überlebt haben.
Technische Fragen
Wie verberge ich ein Geheimnis mit Nullbreiten-Zeichen?
Rufen Sie mit mode encode auf (oder lassen Sie mode weg), übergeben Sie nicht leeres secret und cover. Die API liefert Stego-Text mit einem U+200D…U+FEFF-Rahmen aus U+200B/U+200C-Bits nach dem ersten Deckzeichen.
Was kostet der Nullbreiten-Zeichen-Kodierer?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen das vorausbezahlte KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingaben werden nicht berechnet.