O que são sal e como os sais são armazenados em Bcrypt?

estou a tentar configurar o Bcrypt para uma aplicação de nós que estou a fazer e tenho várias perguntas sobre sais que espero que alguém aqui possa ajudar a responder gentilmente.

  • o que é um sal "redondo"? Por exemplo, nos docs do github ( https://github.com/kelektiv/node.bcrypt.js / usa uma rodada de sal de 10. O que significa isso exactamente?

  • o sal gerado pelo Bcrypt é sempre o mesmo? Por exemplo, se eu estou salvando senhas de usuário hashed para um DB, é o sal que usou a mesma palavra-passe para cada palavra-passe?

  • Como é armazenado o sal? Está seguro de ataques potenciais?

Author: doctopus, 2017-10-11

1 answers

    {[[2]}Com "redondo de sal", significam realmente o factor de custo . O Fator de custo controla quanto tempo é necessário para calcular um único hash BCrypt. Quanto maior o Fator de custo, mais rodadas de hashing são feitas. Aumentar o factor de custo de te em 1 duplica o tempo necessário. Quanto mais tempo for necessário, mais difícil será a força bruta.
  1. o sal é um valor Aleatório, e deve diferir para cada cálculo, de modo que o resultado dificilmente deve ser o mesmo, mesmo para igual senha.
  2. o sal é normalmente incluído na hash-string resultante em forma legível. Então, com o armazenamento da hash-string você também armazenar o sal. Dê uma olhada nesta resposta para mais detalhes.
 4
Author: martinstoeckli, 2017-10-12 15:10:03