Como gerar um HMAC com texto, segredo e algoritmo
Para gerar um HMAC, introduza um texto não vazio, indique o segredo e escolha um algoritmo utilizável, como SHA-256. Se deixar o algoritmo vazio, é usado SHA-256; se deixar o texto vazio, o resultado HMAC fica vazio.
Para que serve o gerador de HMAC
Este gerador cria um HMAC a partir de um texto, de um segredo e do nome de um algoritmo. Pode ser usado quando precisa de um valor HMAC para um texto não vazio e pretende escolher o algoritmo aplicável. O texto, o segredo e o algoritmo são campos opcionais: se não preencher o algoritmo, é usado SHA-256. Se deixar o segredo vazio, o gerador aplica um segredo interno de recurso antes de calcular o resultado.
Como gerar um HMAC
-
Introduza no campo de texto o conteúdo para o qual pretende gerar o HMAC. Para obter um HMAC calculado, o texto tem de conter pelo menos um carácter.
-
Preencha o campo do segredo com o valor que pretende usar. Um segredo vazio não interrompe o processo: quando o texto não está vazio, é aplicado um segredo interno de recurso. Por isso, confirme o valor introduzido antes de continuar.
-
Selecione ou escreva o nome do algoritmo. Quando não indicar um algoritmo, fica selecionado SHA-256. O nome fornecido tem de corresponder a um algoritmo reconhecido; nomes que não sejam utilizáveis não são transformados pelo gerador numa falha estruturada local.
-
Execute a geração e leia o resultado apresentado. Com texto não vazio e um algoritmo utilizável, o resultado é bem-sucedido e contém o HMAC gerado. Copie o valor apenas depois de confirmar que o texto, o segredo e o algoritmo correspondem ao que pretendia processar.
Como interpretar o resultado
Um resultado bem-sucedido com um valor HMAC indica que foi gerado um HMAC para um texto não vazio usando um nome de algoritmo que pôde ser utilizado. O algoritmo por omissão é SHA-256, mas o resultado depende também do texto e do segredo introduzidos.
Há duas situações que merecem atenção. Se o texto estiver vazio, o gerador devolve sucesso com um valor HMAC vazio, em vez de executar o cálculo. Se o segredo estiver vazio e o texto tiver conteúdo, é utilizado um segredo interno de recurso. Assim, um resultado vazio não deve ser lido como um HMAC calculado, e um resultado bem-sucedido com segredo vazio não corresponde ao uso direto de um segredo vazio.
Quando o nome do algoritmo não puder ser associado a uma opção utilizável, não conte com uma falha estruturada produzida pelo próprio gerador. Verifique o nome e repita a operação com uma opção reconhecida.
Exemplo prático
Uma pessoa precisa de gerar um HMAC para o texto "pedido-1042" e escolhe SHA-256 antes de executar a operação.
Num pedido de assinatura para o texto "pedido-1042", introduza esse texto, preencha o segredo definido para o pedido, mantenha SHA-256 e execute a geração. Depois, confirme que o resultado contém um valor HMAC.
O resultado esperado é uma indicação de sucesso acompanhada por um valor HMAC não vazio, desde que o texto não esteja vazio e o algoritmo seja utilizável.
Limitações
- A geração está limitada a nomes de algoritmo que sejam utilizáveis; texto vazio não produz um HMAC calculado, mesmo quando o resultado indica sucesso.
Erros comuns
- Introduzir o texto vazio e esperar um HMAC calculado: o gerador devolve sucesso com um valor HMAC vazio. Introduza texto não vazio e execute novamente.
Perguntas frequentes
Que algoritmo é usado quando não seleciono nenhum?
Quando o texto não está vazio, o algoritmo vazio faz com que seja usado SHA-256. O texto e o segredo continuam a ser campos opcionais, mas um texto vazio produz um resultado HMAC vazio.
O que acontece se deixar o segredo vazio?
Quando o texto não está vazio, o gerador utiliza um segredo interno de recurso antes de criar o HMAC. O segredo vazio não é usado diretamente como chave.
Porque é que o resultado HMAC aparece vazio?
Se o texto estiver vazio, o gerador devolve sucesso com um valor HMAC vazio, sem executar o cálculo. Para obter um HMAC gerado, introduza texto não vazio e use um algoritmo utilizável.