Frage

Wie in RFC2289 (S / KEY) zu sehen ist, gibt es eine Liste von Wörtern, die verwendet werden müssen, wenn die hexadezimale Zeichenfolge in ein lesbares Format konvertieren.

Wie würde ich mich über so tun?

Die RFC erwähnt:

  

Das Passwort einmalig ist daher   umgewandelt und als eine akzeptierte   Sequenz von sechs kurzen (1 bis 4 Buchstaben)   Englische Wörter. Jedes Wort wird gewählt,   aus einem Wörterbuch von 2048 Wörtern; um 11   Bits pro Wort, alle Einmalpasswörter   codiert werden.

     

Lesen Sie mehr:    http://www.faqs.org/rfcs/rfc1760.html#ixzz0fu7QvXfe

Bedeutet dies, dass eine hex in dezimal umzuwandeln und mit dann, dass als Index für ein Array von Worten. Das andere, was es sein könnte, wird mit einem Textcodierung z.B. 1111 könnte Hund in UTF-8-Codierung gleich

Vielen Dank im Voraus für Ihre Hilfe!

War es hilfreich?

Lösung

Es gibt keine Notwendigkeit zu Dezimalzahl zu konvertieren. Wenn Ihr Hex-Wert ein String ist, wandeln sie nur auf eine Zahl (zum Beispiel mit Integer.valueOf(value, 16)). Dann nutzen Sie diese Nummer, um das Wort nachzuschlagen. Wenn Sie das ganze Wörterbuch im Speicher speichern kann, verwenden Sie die Nummer als Index. Wenn Sie es nicht im Speicher gespeichert werden können, verwenden Sie es zu kontrollieren, wie weit in die Wörterbuch-Datei suchen Sie (wenn jedes Element auf einer separaten Zeile ist, gelesen, dass viele Zeilen in der Datei). Wenn Sie eine Datenbank irgendwo haben, verwenden Sie die Nummer als die Schlüssel der Tabelle und wählen Sie durch drücken.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top