Nome de usuário, senha, salga, criptografia, hash - como tudo funciona? [duplicado]
Duplicata Possível:
Secure hash and salt para senhas do PHP
Eu leio muitos posts tanto no stackoverflow como em outros sites falando sobre segurança na web. Como salgar a criptografia etc. E eu estou meio que não entendi, então uma explicação simples seria realmente útil.
Então aqui está o que eu sei até agora. Um usuário faz login digita seu nome de usuário e senha. A entrada então passa por um processo. Vamos dizer que o nome de usuário e senha é combinado como por exemplo:
$username = (USERS USERNAME INPUT);
$password = (USERS PASSWORD INPUT);
$userinput = $username . $password;
Então nós adicionamos um pouco de sal.
$salt1 = "13$13aVc!kd";
$salt2 = "4kr$!vlmeoc";
$salted = $salt1 . $userinput . $salt2;
Então nós criptografamos isso.
$encrypted = encrypt($salted);
Em seguida, verifique com o banco de dados e se o usuário certo está logado.
É assim que funciona certo? Mas Iv'e leu sobre ataque de força bruta. Ele adivinha os valores de entrada certos? Com o procedimento acima. Não mostra que o atacante só precisa obter as informações de $ userinput corretas para entrar? Ele não precisa adivinhar a longa string $ criptografada correta?
Nota: Vamos dizer que nesta situação não há captcha, nenhum número de tentativas limite, nenhum bloqueio, nada mais que o acima.
Nota: Seja gentil, eu ainda estou aprendendo.