Como gerar códigos OTP com uma chave Base32
Aprenda a gerar códigos de autenticação TOTP e HOTP a partir de uma chave Base32 com 6 ou 8 dígitos através do algoritmo HMAC-SHA1.
Para gerar um código de autenticação temporário ou sequencial, introduza uma chave secreta no formato Base32, escolha entre o modo baseado no tempo (TOTP) ou em contador (HOTP) e defina o número de dígitos pretendido (6 ou 8). O cálculo utiliza o algoritmo HMAC-SHA1 e devolve o código numérico pronto a utilizar.
Antes de começar
Os códigos de utilização única (OTP) servem como segundo fator de autenticação em diversas plataformas. Antes de iniciar o cálculo com o Gerador de Códigos OTP, certifique-se de que dispõe da chave secreta em formato Base32 fornecida pelo serviço.
A ferramenta processa a chave de forma flexível: converte automaticamente letras minúsculas para maiúsculas, remove espaços em branco adicionais e aceita chaves com ou sem carateres de preenchimento (sinais de igual). Deve também verificar se o serviço exige o protocolo TOTP padrão (que renova o código a cada intervalo de tempo) ou o protocolo HOTP (que avança mediante um contador sequencial).
Passo a passo para gerar o código
- Introduza a sua chave secreta Base32 no campo indicado.
- Selecione o modo de cálculo pretendido: escolha TOTP se pretender validar um código sincronizado com o relógio, ou HOTP para uma sequência manual.
- Defina o comprimento da saída entre 6 ou 8 dígitos, de acordo com o requisito do serviço.
- Se selecionou TOTP, ajuste o período em segundos caso pretenda um intervalo diferente do padrão de 30 segundos.
- Se selecionou HOTP, indique o valor inteiro do contador pretendido (o valor predefinido é 0).
- Execute o cálculo para obter o código OTP resultante e consultar o tempo restante de validade.
Se estiver a configurar novos acessos em dispositivos móveis e necessitar de partilhar parâmetros de autenticação através de imagens legíveis por câmara, pode recorrer ao Gerador de Códigos QR para codificar hiperligações de registo.
Como interpretar o resultado
Após o processamento, o utilitário devolve o código numérico formatado com os dígitos selecionados. No modo TOTP, a resposta inclui também a contagem decrescente dos segundos restantes do período em curso. Quando esse intervalo atinge o fim, o cálculo seguinte gera um novo código correspondente ao novo bloco temporal.
No modo HOTP, o código mantém-se estritamente associado ao número do contador fornecido. Gerar o código repetidamente com o mesmo contador e a mesma chave produzirá exatamente o mesmo resultado numérico, sem qualquer dependência do relógio do sistema.
Exemplo prático de cálculo
Imagine que pretende testar a sincronização de uma conta protegida por autenticação em dois passos:
- Chave Base32:
JBSWY3DPEHPK3PXP - Modo: TOTP (baseado em tempo)
- Comprimento: 6 dígitos
- Período: 30 segundos
Ao executar o pedido, a ferramenta calcula a fatia de tempo atual Unix, aplica o algoritmo HMAC-SHA1 com a chave descodificada e apresenta um código de 6 dígitos acompanhado pelos segundos que restam até à próxima rotação.
Limitações do utilitário
- O algoritmo subjacente está fixado em HMAC-SHA1, de acordo com as especificações RFC 4226 e RFC 6238.
- Chaves com carateres inválidos fora do alfabeto Base32 impedem o cálculo do código.
- Os campos numéricos de período e contador aceitam apenas números inteiros.
Erros comuns ao introduzir dados
- Inserir valores decimais nos campos de período ou contador, o que resulta na rejeição dos dados.
- Tentar utilizar chaves em formatos hexadecimais puros sem conversão prévia para Base32.
- Esperar que o modo HOTP mude de código automaticamente sem atualizar o valor do contador.
Perguntas frequentes
A ferramenta aceita chaves com espaços ou letras minúsculas?
Sim. Os espaços em branco no início, no meio ou no fim são eliminados automaticamente e as letras minúsculas são convertidas para maiúsculas antes do processamento.
Qual é o valor padrão do período no modo TOTP?
O período predefinido é de 30 segundos, que corresponde ao padrão comum da maioria das aplicações de autenticação.
A chave secreta fica visível no resultado?
Não. O painel de resultados apresenta apenas o código numérico gerado, os parâmetros de cálculo e o tempo restante, sem expor a chave nos dados de saída.