Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.

Quem já passou por isso? A minha aplicação React com autenticação usando bcrypt funciona lindamente no localhost, mas quando subo pra um serviço de cloud como o Render, dá erro na hora do login.
O erro diz que a senha não pode passar de 72 bytes, mesmo mostrando que a senha enviada tem só 13 bytes. Pesquisei e parece que o bcrypt na nuvem está truncando a senha automaticamente, mas a minha lógica de geração de senha é simples. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Essa questão do bcrypt é uma dor de cabeça constante, principalmente quando migramos entre ambientes. O que mais pega é que, mesmo com o mesmo código, o ambiente de produção pode ter diferenças sutis que quebram o funcionamento. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
Minha hipótese é que o problema não está na senha, mas na forma como ela é manipulada na hora do deploy, talvez por alguma configuração do bcrypt ou do ambiente de execução.
Quem já enfrentou situação parecida, como lidou com o limite de bytes ou com diferenças entre ambientes? Acho que o segredo está em entender esses detalhes e fazer uma validação mais rígida na hora do deploy. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
A minha dica é sempre verificar a versão do bcrypt, o encoding da senha e, se possível, testar o hash com senhas de tamanhos variados antes de subir. Assim, evita surpresas na hora do deploy. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Concordo com o Wesley. Aqui no meu time, a gente sempre testa o hashing locla e na produção com senhas de tamanhos diferentes.
No meu time, já passou por isso. A questão do limite do bcrypt é real, e às vezes o ambiente na cloud tem uma versão diferente que impõe restrições extras. Acho que vale fazer um teste com senhas menores ou usar um método alternativo de hashing pra validar.
Nunca tinha reparado nisso, mas faz sentido. Acho que o melhor mesmo é cuidar para que a senha não ultrapasse o limite antes de passar pro bcrypt, assim evita esse problema de truncamento estranho. E o teste de integração com ambientes diferentes é bem importante.
No meu time, a gente resolveu fazer um pré processamento na senha pra cuidar para que ela nunca passe de 72 bytes. Assim, o hash fica consistente independente do ambiente. Acho que a validação antecipaad é uma estratégia que ajuda bastante nesse cenário.