O sal
Um valor diferente por conta, somado à senha antes do hash, para que senhas iguais não virem hashes iguais.
Sem sal, a mesma senha vira sempre o mesmo hash. Duas pessoas que escolheram pampa123 ficam com linhas idênticas no banco:
diretoria,ebe4de26dd22577bf32eb3fd56fc39f6
caixa02,ebe4de26dd22577bf32eb3fd56fc39f6
Isso tem dois problemas. O reúso de senha fica à vista (hashes iguais, senha igual), e o atacante calcula o hash de uma lista de senhas uma vez e compara com o banco inteiro de uma vez só.
O sal conserta os dois. É um valor diferente para cada conta, em geral aleatório, somado à senha antes de calcular o hash e guardado ao lado do resultado. Aí a mesma senha, com sais diferentes, vira hashes diferentes:
diretoria,sal=9f3a,hash=...a1
caixa02,sal=1c7e,hash=...b8
O sal não é segredo (ele fica guardado junto), e sozinho não deixa o hash mais lento. O que ele faz é tirar o atalho: o atacante tem de atacar cada conta separadamente, e tabelas pré-calculadas deixam de servir. Por isso os esquemas bons já trazem o sal embutido, como o bcrypt e o Argon2, e em Python o hashlib.pbkdf2_hmac('sha256', senha, sal, 200000) junta o sal e ainda repete o hash milhares de vezes.