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.

questionAnswers(5)

yourAnswerToTheQuestion