2
respostas

Digest method not supported

Criei a funçaõ de geraTokenHash como mostrado na aula porém na hora de realizar o logout é retornado o seguinte erro:

// Função de hash
function geraTokenHash(token) {
    return createHash('sha265').update(token).digest('hex');
}

// Erro 
{
    "erro": "Digest method not supported"
}

Pensei que pode ser a versão do node que estou utilizando (10.20.1), se for isso, qual a versão recomendada? Senão, como posso resolver?

2 respostas

Obs: substituindo a função pela que esta no git o código passa a funcionar, mesmo ambas sendo exatamente iguais. Então descarto a hipótese de ser a versão do node

Oi, Mateus! Tudo bem?

Desculpa a demora por um retorno.

O erro "Digest method not supported" ocorre porque no código está sendo usado o método createHash com o argumento 'sha265', entretanto, o método correto é 'sha256'. O número 265 é um erro de digitação.

Dessa forma, devemos deixar o código da seguinte maneira:

// Função de hash
function geraTokenHash(token) {
    return createHash('sha256').update(token).digest('hex');
}

Além disso, substituindo a função pela que está no Git o código funciona pois possivelmente a função no Git já esteja corrigida ou tenha uma implementação ligeiramente diferente que não cause o erro.

Quanto à versão recomendada do Node.js, o suporte para os métodos de hash não mudou significativamente nas versões mais recentes, somado a isso, a partir do código enviado, não parece haver um problema relacionado à sua versão. No entanto, é sempre uma boa prática manter o Node.js atualizado para se beneficiar das correções de bugs e recursos mais recentes.

Espero ter ajudado na compreensão do problema. Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓