Pular para o conteúdo
Todos os conceitos

Guardar o hash, não a senha

Um sistema sério nunca guarda a sua senha, só uma impressão digital dela que não tem volta.

Imagine duas empresas que sofrem o mesmo vazamento do banco de contas. A primeira guardava as senhas em texto puro:

tesouraria,pinhao2021
gerente,pampa2019

No segundo em que vaza, o atacante tem a senha de todo mundo, pronta para entrar. Pior: como as pessoas reusam senha, ele testa as mesmas em outros serviços.

A segunda empresa guardava só o hash de cada senha (veja o conceito Funções de hash):

tesouraria,ca58cc60feb6ba2c12e69da376b6306952c1d4f5c1e7b24d42346355ac9aeb3d
gerente,24f9eb594d5d1d4bc4936a68bac01ee80ee1f1a41b73036cb80b5dbc38b45676

O hash não tem volta: do código embaralhado não se lê a senha. Quando você faz login, o sistema calcula o hash do que você digitou e compara com o guardado; ele confere a senha sem nunca precisar guardá-la.

texto puro hash tesouraria, pinhao2021 tesouraria, ca58cc60fe… atacante senha pronta só o código, sem volta
Com texto puro, um vazamento entrega a senha pronta; com hash, o atacante recebe um código embaralhado do qual não se lê a senha.

Hash não é um "sim mágico": se a senha for fraca, o atacante ainda adivinha (veja os conceitos Ataque de força bruta e O sal). Mas guardar o hash tira do atacante o prêmio imediato, e é o mínimo que se espera de qualquer sistema. Senha em texto puro num banco é um defeito grave, sempre.

Aparece nestes desafios