Я читал этот учебник для простой системы входа в систему PHP.
В конце он рекомендует зашифровать ваш пароль, используя md5().
Хотя я знаю, что это учебник для новичков, и вы не должны указывать банковские выписки за этой системой входа, это заставило меня задуматься о шифровании.
Итак, я пошел вперед и пошел (один из самых полезных вопросов, который этот сайт имеет для новичков): Что должен знать разработчик до создания общедоступного веб-сайта?
Там говорится (под безопасностью):
ШифрованиеХэш и соляные пароли чем сохранение их обычного текста.
В нем больше не говорится об этом, нет ссылок.
Итак, я пошел вперед и сам пробовал:
$pass = "Trufa";
$enc = md5($pass);
echo $enc; #will echo 06cb51ce0a9893ec1d2dce07ba5ba710
И вот что заставило меня задуматься, что, хотя я знаю, что md5() не может быть самым сильным способом шифрования, все, что всегда дает тот же результат, может быть обратным.
Итак, в чем смысл шифрования чего-либо с помощью md5() или любого другого метода?
Если хакер получает пароль, зашифрованный с помощью md5(), он просто будет использовать эту страницу!.
Итак, теперь актуальные вопросы:
- Как работает шифрование паролей?
Я знаю, что я не обнаружил огромную уязвимость в Интернете здесь!:) Я просто хочу понять логику шифрования паролей.
Я уверен, что понимаю что-то не так, и был бы признателен, если бы вы могли помочь мне установить мою, хотя и другую (надеюсь) прямо.
Как вы должны применять шифрование паролей, чтобы оно было действительно полезным?
- Как насчет этой идеи?
Как я уже сказал, я могу/не понимаю всю идею, но может ли этот метод добавить безопасность в безопасности к реальной среде?
$reenc = array(
"h38an",
"n28nu",
"fw08d"
);
$pass = "Trufa";
$enc = chunk_split(md5($pass),5,$reenc[mt_rand(0,count($reenc)-1)]);
echo $enc;
Как вы видите, я случайно добавил произвольные строки ($reenc = array()
) к моему паролю md5(), что делает его уникальным ". Это, конечно, просто глупый пример.
Возможно, я ошибаюсь, но если вы сами не засечете шифрование, он всегда будет легко обратим.
Выше была бы моя идея "защиты паролем" и зашифрованного пароля. Если хакер доберется до него, он не сможет расшифровать его, если он не получит доступ к исходному .php
Я знаю, что это может даже не иметь смысла, но я не могу понять, почему это плохая идея!
Надеюсь, я сделал достаточно ясным, но это очень длинный вопрос, поэтому просьба уточнить необходимые разъяснения!
Спасибо заранее!