OTP veya S / KEY - 6 okunabilir kelimeleri içine Hex dize Dönüşüm

1 Cevap php

RFC2289 (S / KEY) görüldüğü gibi, okunabilir bir biçime onaltılık dize dönüştürme yaparken kullanılması gereken kelimelerin bir listesi var.

Nasıl bu kadar yapıyor hakkında gitmek istiyorsunuz?

RFC bahseder:

The one-time password is therefore converted to, and accepted as, a sequence of six short (1 to 4 letter) English words. Each word is chosen from a dictionary of 2048 words; at 11 bits per word, all one-time passwords may be encoded.

Read more: http://www.faqs.org/rfcs/rfc1760.html#ixzz0fu7QvXfe

Bu ondalık bir hex dönüştürme ve daha sonra kullanarak anlamına gelmez kelimelerin bir dizi için bir göstergesi olarak. Bir metin kodlama örneğin kullanıyor olabilir başka bir şey UTF-8 kodlaması 1111 kudreti eşit köpek

Yardımlarınız için şimdiden teşekkürler!

1 Cevap

Ondalık dönüştürmek için gerek yoktur. Hex değer bir dize ise, sadece (Integer.valueOf(value, 16), örneğin) bir sayıya dönüştürmek. Sonra kelime aramak için bu numarayı kullanın. Eğer bellekte tüm sözlüğü saklayabilirsiniz eğer, endeks olarak numarasını kullanabilirsiniz. Bellekte saklamak yapamıyorsanız, bakmak ne kadar sözlük dosyasına kontrol etmek için kullanabilirsiniz (her madde ayrı bir hat üzerinde ise, o dosyanın içine birçok satır okuyun). Eğer bir yerde bir veritabanı var ise, tablonun anahtarı olarak numarayı kullanın ve tuşu ile seçin.