Senha única OTP S/KEY - Saída MD5 Digest dobrável
-
21-09-2019 - |
Pergunta
Estou tentando criar um gerador de senha única para um telefone.No RFC2289 ele especifica que devo dobrar a saída do MD5, estou usando o castelo inflável MD5 e não consigo descobrir como dobrar a saída da matriz de bytes.
for (int i = 0; i < 8; i++)
{
md5[i] ^= md5[i+8];
}
Isso é o que eu tenho até agora
Solução
Provavelmente, você quer isso:
for (int i = 0; i < 8; ++i)
md5[i] ^= md5[i + 8];
return Arrays.copyOf(md5, 8);
Dessa forma, apenas os primeiros 64 bits (que são usados pelo OTP) são retornados.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow