devterview_$ iniciar simulação

Como armazenar senha de usuário

MédioPlenoAutenticação

Pergunta

Como você deve armazenar senhas de usuário num banco de dados, e por que não basta um SHA-256?

Resposta esperada

Nunca em texto puro nem com hash rápido (MD5, SHA-256 sozinho). Use um algoritmo de hash de senha projetado pra ser lento e com custo ajustável: bcrypt, scrypt ou Argon2 (preferível hoje). Cada senha recebe um salt aleatório único, armazenado junto ao hash, pra que senhas iguais não gerem o mesmo hash e pra inviabilizar rainbow tables. O custo (fator de trabalho) é calibrado pra levar ~100–300ms por hash, tornando brute force caro; ele é aumentado ao longo dos anos conforme hardware melhora. SHA-256 puro falha porque é rápido demais — uma GPU testa bilhões por segundo.

Por que perguntam isso

Pergunta quase obrigatória. Erros que reprovam: 'SHA-256 com salt está ok' (não está, é rápido demais) ou não mencionar salt. Bônus: saber que o fator de custo deve subir com o tempo.

#senha#hashing#bcrypt#argon2
publicidade

Perguntas de acompanhamento

Relacionadas