text-normalization

___ tag123unicode ___ Unicode ist ein Standard für die Kodierung, Darstellung und Handhabung von Text mit der Absicht, alle Zeichen zu unterstützen, die für den geschriebenen Text erforderlich sind und alle Schriftsysteme, technischen Symbole und Interpunktion enthalten. ___ tag123passwords ___ Passwörter dienen in erster Linie dazu, auf Informationen zuzugreifen und die Anzahl der Benutzer zu beschränken, die Zugriff auf eine Maschine erhalten. Es wird hauptsächlich mit einem Benutzernamen für das Autorisierungssystem verwendet. Manchmal benutzen Leute Schlüssel anstelle von Passwörtern aufgrund der erhöhten Stärke der Schlüssel. ___ qstnhdr ___ Wie implementiere ich Unicode-Passwörter? ___ answer2798883 ___

Ein guter Anfang ist, Unicode TR 15: Unicode Normalization Forms zu lesen. Dann merkt man, dass es eine Menge Arbeit ist und zu seltsamen Fehlern neigt - Sie kennen diesen Teil wahrscheinlich schon, da Sie hier nachfragen . Schließlich laden Sie etwas wie ICU und lass es für dich tun .

IIRC, es ist ein mehrstufiger Prozess. Zuerst zerlegen Sie die Sequenz, bis Sie nicht weiter zerlegen können - zum Beispiel würde é zu e + werden. Dann ordnen Sie die Sequenzen in eine gut definierte Reihenfolge um. Schließlich können Sie den resultierenden Byte-Stream mit UTF-8 oder ähnlichem codieren. Der UTF-8-Byte-Stream kann in den kryptografischen Hash-Algorithmus Ihrer Wahl eingegeben und in einem persistenten Speicher gespeichert werden. Wenn Sie überprüfen möchten, ob ein Kennwort übereinstimmt, führen Sie die gleiche Prozedur durch und vergleichen Sie die Ausgabe des Hashalgorithmus mit dem, was in der Datenbank gespeichert ist.

    
___ tag123normalization ___ Verwenden Sie [tag: datenbanknormierung] zum Normalisieren der Datenbankstruktur und [tag: Unicode-normalisierung] zum Normalisieren von Unicodetext. Normalisierung bezieht sich auf Transformationen, die darauf abzielen, die Variation verschiedener Datentypen zu reduzieren und dadurch eine konsistentere Verarbeitung, Suche, Sortierung, Vergleich usw. zu ermöglichen. ___ qstntxt ___

Das Hinzufügen von Unicode-Passwörtern ist ein wichtiges Feature, das Entwickler nicht ignorieren sollten.

Trotzdem ist das Hinzufügen von Unterstützung für Unicode in Kennwörtern ein kniffliger Job, da der gleiche Text in Unicode auf verschiedene Arten codiert werden kann und Sie deshalb nicht verhindern möchten, dass sich Benutzer anmelden.

Nehmen wir an, Sie speichern die Kennwörter als UTF-8 und berücksichtigen, dass diese Frage nicht mit Unicode-Kodierungen zusammenhängt und mit Unicode-Normalisierung zusammenhängt.

Nun stellt sich die Frage, wie Sie die Unicode-Daten normalisieren sollten ?

Sie müssen sicher sein, dass Sie es vergleichen können. Sie müssen sicher sein, dass bei der Veröffentlichung des nächsten Unicode-Standards Ihre Passwortverifizierung nicht ungültig wird.

Hinweis: Es gibt immer noch einige Stellen, an denen Unicode-Passwörter wahrscheinlich nie verwendet werden, aber diese Frage betrifft nicht Warum oder wann Unicode-Passwörter verwenden , es geht darum, sie in der richtigen Weise zu implementieren.

1. Aktualisierung

Ist es möglich, dies zu implementieren, ohne ICU zu verwenden, wie OS für die Normalisierung zu verwenden?

    
___ answer2804973 ___

Eine Frage an Sie - können Sie erklären, warum Sie "ohne ICU" hinzugefügt haben? Ich sehe viele Fragen, die nach Dingen fragen, die ICU (wir denken) ziemlich gut, aber "ohne ICU". Nur neugierig.

Zweitens könnten Sie an StringPrep / NamePrep und nicht nur an der Normalisierung interessiert sein: StringPrep - um Strings für zu zeichnen Vergleich.

Drittens interessiert Sie vielleicht UTR # 36 und UTR # 39 für andere Unicode-Sicherheitsimplikationen.

* (Offenbarung: ICU-Entwickler:)

    
___ tag123textnormierung ___ hilf uns dieses Wiki zu bearbeiten ___ tag123unicodenormalization ___ Unicode-Normalisierung bezieht sich auf die Standardisierung von Unicode-Strings. Normalisierungsformulare entfernen Unterschiede in der Binärdarstellung identischer Unicode-Zeichenfolgen. ___
2
Antworten

Wie implementiere ich Unicode-Passwörter?

Das Hinzufügen von Unicode-Passwörtern ist ein wichtiges Feature, das Entwickler nicht ignorieren sollten. Trotzdem ist das Hinzufügen von Unterstützung für Unicode in Kennwörtern ein kniffliger Job, da der gleiche Text in Unicode auf verschi...
09.05.2010, 19:03