I18n und Passwörter, die nicht US-ASCII, Latin1 oder Win1252

stimmen
3

Wie gehen Sie Passwörter für Dienste, wenn der Benutzer etwas eingibt, der am besten in Unicode oder eine anderen nicht-lateinischen Zeichencodierung dargestellt wird?

Insbesondere können Sie ein Kyrillisch Passwort als Passwort zu Oracle verwenden? Was tun Sie das Kennwort eines Benutzers gegen einen Windows-Authentifizierungsmechanismus, um zu überprüfen, ob das Kennwort als UTF-8 zur Verfügung gestellt?

Ich habe einige Ideen, wie dies sollte in unserem Code behandelt werden, aber ich bin auf der Suche von anderen um Rat sicherstellen, dass unsere Richtung Klang.

Veröffentlicht am 09/12/2008 um 22:39
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Sie könnten Probleme mit den Authentifizierungsmechanismen Längenbeschränkungen haben.

zB Wenn das System eine maximale Länge von 12 Bytes gibt an, dies leicht von fünf chinesischen Schriftzeichen in utf-8 überschritten werden könnte, ist dies kein Problem, da solche, weil vier chinesische Zeichen genug Entropie haben sollten, aber, müssen Sie vorsichtig sein, Fehler messsages.

Andere Probleme können entstehen, wenn die Authentifizierung mechnism erzwingt Regeln wie „mindestens ein jeder der oberen Buchstaben, Kleinbuchstaben, Satzzeichen und numerische Zeichen“ - mehrere Sprachen haben keine Groß- / Kleinschreibung, und es gibt Dutzende Zeichen in Unicode definiert, die eine native Lautsprecher würde als Zahlen denken, aber als solche nicht durch eine schlecht umgesetzt Regel erkannt werden.

Beantwortet am 10/12/2008 um 16:02
quelle vom benutzer

stimmen
1

Die Codierung selbst kein Problem auf der Verschlüsselung darstellen soll, arbeiten die meisten Algorithmen auf Bytes, nicht auf Zeichen. Das einzige, was ein Problem sein könnte, ist: Verschlüsseln das gleiche Passwort mit unterschiedlichen Codierungen könnten unterschiedliche Werte ergeben, wenn exotische (Nicht-ASCII-Zeichen) im Passwort verwendet werden. obwohl Umwandlung des Passworts auf eine feste Codierung (wie UTF-8) soll dieses Problem lösen.

Beantwortet am 10/12/2008 um 11:08
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more