Имя пользователя, Пароль, Соление, Шифрование, Хэш - Как все это работает? [Дубликат]

Возможный дубликат:
Безопасный хэш и соль для паролей PHP

Я читал много постов, как в stackoverflow, так и на других сайтах, рассказывающих о веб-безопасности. Такие как солёное шифрование и т. Д. И я вроде не понимаю, так что простое объяснение было бы очень полезно.

Итак, вот что я знаю до сих пор. Пользователь входит в систему вводит свое имя пользователя и пароль. Ввод затем проходит через процесс. Допустим, имя пользователя и пароль объединены, например:

$username = (USERS USERNAME INPUT);
$password = (USERS PASSWORD INPUT);
$userinput = $username . $password;

Затем мы добавляем немного соли.

$salt1 = "13$13aVc!kd";
$salt2 = "4kr$!vlmeoc";

$salted = $salt1 . $userinput . $salt2;

Затем мы зашифровываем это.

$encrypted = encrypt($salted);

Затем проверьте базу данных и войдет ли ее правильный пользователь.

Вот как это работает правильно? Но я читал о грубой атаке. Это угадывает входные значения правильно? С процедурой выше. Разве это не показывает, что злоумышленнику нужно только правильно получить информацию о $ userinput? Ему не нужно угадывать длинную $ зашифрованную строку правильно?

Примечание. Допустим, в этой ситуации нет ни капчи, ни ограничения количества попыток, ни блокировки, ничего, кроме приведенного выше.

Примечание: будь осторожен, я все еще учусь.

Ответы на вопрос(5)

Ваш ответ на вопрос