Брэд, да, все в порядке. В действительности нет никакой пользы для публикации пароля хешированный (не зашифрованный). Во-первых, вы должны использовать javascript для этого, и это легко обойти. Хеширование предоставленного пароля должно выполняться на стороне сервера для сравнения с сохраненным хешированным значением.
Edit:
Plus, выполните следующее и посмотрите, что вы получите:
<?php echo md5(NULL);
Таким образом, md5 всегда возвращает значение.
Кроме того, попробуйте выполнить следующие действия:
<?php var_dump(isset(md5($_POST['password'])));
Вы увидите следующее: Fatal error: Can't use function return value in write context
isset() может быть использован только с переменным.
Edit:
Существует разница между hashing и encryption. MD5 - простой хэш, который даже не криптографически защищен.
Да, вы не должны отправлять пароли в текстовом виде на свой сервер, но хешировать их на стороне клиента является то же самое, что и. Вы должны использовать HTTPS для отправки паролей, вот как вы шифруете связи между вашим сервером и клиентом.
Я просто беспокоюсь, что это плохо, чтобы опубликовать пароль Уна-зашифрованные, даже в условном. – Brad
Если вы хотите, чтобы защита паролем использовала SSL. Кроме того, вы больше ничего не можете сделать, что нельзя обойти. –
Брэд: Вы не понимаете, что зашифровано. md5() - это не шифрование, это хеширование. – hobodave