LDAP-DN-Escape
Aus Smith, John wird Smith\, John: Das Komma bleibt Teil des Namens, statt den Distinguished Name zu zerteilen. Pluszeichen, Anführungszeichen, Backslashes, spitze Klammern und Semikolons werden ebenso nach RFC 4514 maskiert, und Sie können es umkehren. 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
- Text
- Smith, John
- Berechnungsmodus
- Encode
- Ergebnis
- Smith\, John
- Kodierung
- ldap_dn_rfc4514
- Eingabelänge
- 11
- Ausgabelänge
- 12
Dieser LDAP-DN-Escaper wandelt einen einfachen Attributwert in die escaped Form um, die RFC 4514 für die textuelle Darstellung von Distinguished Names verlangt, und kehrt dieselbe Abbildung um, wenn Sie eine escaped Komponente wieder in gewöhnliche Zeichen einfügen. Die Kodierung schreibt Kommas, Pluszeichen, doppelte Anführungszeichen, Backslashes, spitze Klammern und Semikolons um, damit ein handgeschriebener Common Name, eine Organisationseinheit oder ein Filterfragment in einem RDN sitzen kann, ohne den umgebenden DN zu zerteilen. Führende Nummernzeichen und führende oder nachgestellte ASCII-Leerzeichen erhalten ebenfalls einen Backslash, damit Directory-Server sie nicht als Hex-Marker oder unbedeutendes Padding behandeln. Das Dekodieren akzeptiert sowohl die Sonderzeichenform als auch zweistellige Hex-Paare wie Backslash-zwei-C für ein Komma und scheitert klar an einem alleinigen abschließenden Backslash, einer halbfertigen Hex-Ziffer oder einem illegalen Escape-Buchstaben, damit Tippfehler nicht still in Bind-DNs oder Migrationsskripte gelangen. Der Pfad ist vollständig deterministisch: derselbe Text und Modus liefern immer dasselbe Ergebnis, ohne Netzaufrufe, Zufallssalze und datumsabhängige Abkürzungen. Kleine Prüfungen umfassen das Kodieren eines Nachnamens mit Komma in Backslash-Komma-Form und das Dekodieren eines Spitznamens in Anführungszeichen mit Backslash-Anführungszeichen-Paaren zurück in echte Anführungszeichen.
Was RFC-4514-DN-Komponenten-Escape ist und was dieses Werkzeug liefert
Ein LDAP Distinguished Name ist eine Folge relativer Distinguished Names, und jedes RDN koppelt einen Attributtyp mit einem String-Wert. RFC 4514 legt fest, wie dieser Wert im Text geschrieben wird, damit Parser die originalen Oktette wiederherstellen, ohne strukturelle Trennzeichen mit der Nutzlast zu verwechseln. Ein literales Komma muss als Backslash-Komma-Paar erscheinen, ein literales Plus als Backslash-Plus, und doppeltes Anführungszeichen, Backslash, Kleiner-als, Größer-als und Semikolon folgen demselben Muster.
Ein Nummernzeichen ganz am Anfang des Werts wird escaped, damit es nicht als Hex-String-Marker gelesen wird, und ein ASCII-Leerzeichen am Anfang oder Ende wird escaped, damit es nicht als unbedeutender Leerraum verworfen wird. Steueroktetts unterhalb des Leerzeichens werden als umgekehrter Solidus und zwei Großbuchstaben-Hexziffern geschrieben, die portable Form aus Directory-Beispielen und vielen Sprachbindungen. Diese Seite implementiert diese Encode-Menge auf dem Encode-Pfad und das Inverse auf Decode: die Antwort ist nur der Komponenten-String, ohne Attributtypnamen zu erfinden oder einen Multi-RDN-Baum zu durchlaufen.
Wo LDAP-DN-Escape und -Unescape in Entwickler-Workflows passen
Identity- und SSO-Teams kodieren dynamische Anzeigenamen, bevor sie sie in einen relativen Distinguished Name setzen, damit ein einziges Komma oder Anführungszeichen die umgebende Textform nicht zerbricht. Pipeline-Autoren dekodieren escape-dichte Exporte aus Legacy-Directories, damit Anwendungscode mit echten Kommas und Leerzeichen statt literalen Backslash-Komma-Sequenzen arbeitet. Qualitätstechniker erzeugen deterministische Encode- und Decode-Paare für Vertragstests, damit eine Middleware, die RFC-4514-Unterstützung behauptet, zwischen Releases nicht still auf eine nicht standardkonforme Escape-Tabelle wechseln kann.
Lehrende nutzen dasselbe Werkzeug, um den Unterschied zwischen einem vollständigen Multi-RDN Distinguished Name, einem einzelnen Attributwert und der kleinen Escape-Menge zu zeigen, die die Spezifikation in diesem Wert erlaubt.
Anwendungsfälle
Sichere RDN-Attributwerte
Escapen Sie Nachnamen, OUs und freie CN-Werte, damit Kommas, Pluszeichen, Anführungszeichen und Rand-Leerzeichen einen handgeschriebenen oder templatebasierten Distinguished Name nicht zerbrechen.
Deterministische CI-Paare
Erzeugen Sie reproduzierbare Encode- und Decode-Paare für Unit-Tests, Directory-Middleware-Verträge und Werkzeuge, die RFC-4514-Tabellen treffen müssen.
Häufige Fragen
Was kostet der LDAP-DN-Escaper?
Er ist kostenlos in Ihrem Browser auf dieser Seite.
Welche Zeichen werden bei encode escaped?
Encode schreibt Komma, Plus, doppeltes Anführungszeichen, Backslash, Kleiner-als, Größer-als und Semikolon mit Backslash-Präfix um; führende Raute und führendes oder nachgestelltes ASCII-Leerzeichen ebenso; und Steueroktetts U+0000–U+001F als zweistelliges Hex.
Was passiert bei unvollständigem oder illegalem Escape?
Alleinige Backslashes, halbfertige Hex-Paare und nicht-RFC-Escape-Buchstaben werden abgelehnt.
Ist das Ergebnis deterministisch?
Ja. Derselbe Text und Modus liefern immer dasselbe Ergebnis, ohne Netz, Zufall oder datumsabhängiges Verhalten.
Warum werden Leerzeichen am Anfang oder Ende eines Werts maskiert?
Weil Verzeichnisserver ein führendes oder abschließendes Leerzeichen als Füllzeichen betrachten und es verwerfen können, während der Backslash es bewahrt. Auch ein Rautezeichen ganz am Anfang wird maskiert, damit es nicht als Kennzeichen eines Hexadezimalwerts gilt.
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/ldap-dn-escape \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Smith, John"}'const res = await fetch("https://api.kit.forhosting.com/enc/ldap-dn-escape", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Smith, John"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/ldap-dn-escape",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Smith, John"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/ldap-dn-escape", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Smith, John"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Smith, John"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/ldap-dn-escape", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "Smith, John"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.ldap_dn_escape",
"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
Was RFC-4514-DN-Komponenten-Escape ist und was dieses Werkzeug liefert
Anders als ein vollständiger DN-Parser teilt diese Landing nicht an unescaped Kommas in RDNs, validiert keine Object-Class-Schemas und öffnet keinen LDAP-Socket. Die JSON-Antwort enthält immer result für den transformierten String, mode mit encode oder decode, encoding fest auf ldap_dn_rfc4514 sowie input_length und output_length, damit Tests Größen prüfen können. Encode meldet außerdem escapes_applied und Decode escapes_resolved, damit Sie sehen, wie viele Sonderzeichen oder Escape-Sequenzen umgeschrieben wurden. Es gibt kein stilles teilweises Überspringen einer defekten Sequenz: jedes Backslash-Paar ist unter RFC 4514 legal, sonst scheitert die Anfrage mit invalid_input.
Wie text und mode gelesen werden und wie Ergebnisse reproduzierbar bleiben
Mode ist standardmäßig encode und akzeptiert decode explizit; die Aliasse op, direction und action mappen auf denselben Schalter für Skripte, die diese Namen schon verwenden, und escape oder unescape gelten als Synonyme. Encode läuft den String in UTF-16-Codeeinheiten ab und ersetzt nur die Zeichen, die RFC 4514 escaped verlangt, lässt Buchstaben, Ziffern und gewöhnliches Unicode unverändert, damit lesbare Namen lesbar bleiben. Weil der Backslash im selben Links-nach-rechts-Durchgang wie Kommas und Anführungszeichen umgeschrieben wird, erhalten Sie einen einzigen konsistenten Escape-Durchgang, der zu gängigen Directory-Toolkit-Tabellen für Attributwerte passt. Decode sucht Reverse-Solidus-Sequenzen: sind die nächsten zwei Zeichen hexadezimal, gilt das Paar als ein Oktett; sonst muss das nächste Zeichen eines der Spezialzeichen Leerzeichen, Raute, Anführungszeichen, Plus, Komma, Semikolon, Kleiner-als, Größer-als, Backslash oder Gleichheitszeichen sein. Das bevorzugte Payload-Feld ist text, mit Aliassen input, value, s, payload, dn und component, damit Formulare, Query-Strings und SDK-Clients denselben Vertrag ohne Spaltenumbenennung nutzen. Ein unvollständiger abschließender Backslash, eine einzelne Hex-Ziffer ohne Partner oder jeder andere Buchstabe nach dem Backslash wirft invalid_input mit einer Meldung, die das Problem benennt. Die Längengrenze von einhunderttausend Zeichen hält den Worker-Speicher vorhersagbar und deckt lange Mehrwert-Fragmente, Beispiel-DNs und die meisten Einfügepuffer ab. Kombinieren Sie den kostenlosen Browserlauf auf dieser Seite mit der preislichen API, wenn Sie dieselbe Abbildung in einer automatisierten Pipeline brauchen, ohne RFC-4514-Tabellen selbst neu zu implementieren. Ungültige Eingaben liefern invalid_input und werden nicht berechnet, was die Validierung günstig hält, während erfolgreiche Transforms einen festen Item-Preis von $0.002 behalten.
Wo LDAP-DN-Escape und -Unescape in Entwickler-Workflows passen
Auf dieser Seite läuft die Arbeit vollständig in Ihrem Browser; über die API kostet jede erfolgreiche Abfrage $0.002, fehlgeschlagene Validierung wird nicht berechnet und nach der Antwort wird nichts gespeichert. Diese Teilung—kostenlose interaktive Erkundung und eine preisliche, identische API—entspricht dem übrigen KIT-Tier-A-Katalog und lässt Sie von einer Unterrichtsdemo zu einer automatisierten Pipeline wechseln, ohne das escaped Ergebnis zu ändern. Kombinieren Sie es mit URL-Percent-Encoding, JSON-String-Helfern oder Shell-Argument-Anführungszeichen, wenn Sie breitere Texttransforms brauchen, und mit anderen Encoding-Endpunkten, wenn Sie ein kleines Labor freier, deterministischer Werkzeuge für CI und Dokumentation aufbauen.
Integrationsbeispiele
LDIF- und Migrations-Bereinigung
Dekodieren Sie RFC-4514-Escapes aus Exporten, Logs oder golden LDIF-Dateien zurück in plain Unicode für lesbare Diffs und Anwendungscode.
Technische Fragen
Welche Modi werden unterstützt?
mode=encode (Standard) wandelt Klartext in RFC-4514-DN-Komponenten-Escapes um. mode=decode wandelt diese Escapes zurück in Zeichen.