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.
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.