Pergunta

Como visto no RFC2289 (S/Key), há uma lista de palavras que devem ser usadas ao converter a sequência hexadecimal em um formato legível.

Como eu faria isso?

A RFC menciona:

A senha única é, portanto, convertida e aceita como uma sequência de seis palavras curtas (1 a 4 cartas). Cada palavra é escolhida de um dicionário de 2048 palavras; Com 11 bits por palavra, todas as senhas únicas podem ser codificadas.

Consulte Mais informação: http://www.faqs.org/rfcs/rfc1760.html#ixzz0fu7qvxfe

Isso significa converter um hexágono em decimal e depois usá -lo como um índice para uma matriz de palavras. A outra coisa que poderia ser é usar um texto que codifica, por exemplo, 1111 pode ser igual ao cão na codificação UTF-8

Agradeço antecipadamente por sua ajuda!

Foi útil?

Solução

Não há necessidade de converter para decimal. Se o seu valor hexadecimal for uma string, basta convertê -lo em um número (por exemplo, com Integer.valueOf(value, 16)). Em seguida, use esse número para procurar a palavra. Se você pode armazenar todo o dicionário na memória, use o número como índice. Se você não puder armazená -lo na memória, use -o para controlar a que distância no arquivo de dicionário que você procura (se cada item estiver em uma linha separada, leia que muitas linhas no arquivo). Se você tem um banco de dados em algum lugar, use o número como a chave da tabela e selecione por chave.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top