Что лучше использовать для шифрования пароля и имени пользователя: md5() или crypt()

Ekaterina

Новичок
Что лучше использовать для шифрования пароля и имени пользователя: md5() или crypt()

В статье Безопасность написано: "Если вы выбираете между crypt( ) и md5() для шифрования данных на сайте, рекомендую остановиться на md5( ) — эта функция обеспечивает лучшую защиту." Но из приведенного примера непонятно , по крайней мере я не поняла, чем она лучше. Поэтому соответственно вопрос, какой стандартной функцией PHP для шифрования пароля и имени пользователя лучше пользоваться и почему.
 

Adelf

Administrator
Команда форума
md5

Все пользуют. Есть поддержка в MySQL(хотя она и редко когда нужна). Свои функции выполняет.

Есть еще sha1 функция например. Тоже пойдет. В госструктурах США используют.

З.Ы. Не на то время тратите. Выбрать надо сразу и идти дальше. Изучать еще вагон информации вам.
 

Духовность™

Продвинутый новичок
md5 и не заморачивайтесь.

Кстати, укрипта хэш какой-то дурацкий. Например: $1$1j/..l4.$giJDhxkgZZ.Qbqf8yK/Lu/

md5 по сравнению с ним просто образец элегантности: [a-z0-9]+
 

Фанат

oncle terrible
Команда форума
md5 с солью

-~{}~ 13.10.09 16:01:

только не шифрование, а хэширование.
и имя пользователя трогать не надо
 

Ekaterina

Новичок
Автор оригинала: Adelf
md5

Все пользуют. Есть поддержка в MySQL(хотя она и редко когда нужна). Свои функции выполняет.

Есть еще sha1 функция например. Тоже пойдет. В госструктурах США используют.

З.Ы. Не на то время тратите. Выбрать надо сразу и идти дальше.
Я сделала с md5(). Но админ почему-то считает, что crypt() лучше, потому что там используется salt, поэтому хотелось бы ему обосновать выбор.


Изучать еще вагон информации вам.
Само собой мне еще много надо изучать, чтоб приобрести опыт в программировании, если Вы это имели ввиду. Просто , если я что-то использую, то я хочу знать почему, зачем и почему именно это лучше. Вот и все.

Спасибо за ответ.
 

pilot911

Новичок
$user_id лучше не использовать, как и другие подобные мускульные константы для записи, особенно, если код будет открытым

лучше использовать независимое значение под конкретный домен
 

Ekaterina

Новичок
Автор оригинала: *****
md5 с солью

-~{}~ 13.10.09 16:01:

только не шифрование, а хэширование.
и имя пользователя трогать не надо
Имя - потому что хранится в текстовом файле, и те кто имеет доступ к ftp могут его просмотреть
 

Ekaterina

Новичок
Автор оригинала: *****
о господи
Понятно, что это не лучший вариант, но БД нет, где их еще хранить? Может вместо выражения своих эмоций, дадите дельный совет? Кстати никто так и не сказал, почему все-таки md5() лучше crypt().
 

Ekaterina

Новичок
Автор оригинала: triumvirat
Дельный совет - это напрячь вашего шибко умного админа, что бы он поставил БД.

тролль детектед
Что это - тролль детектед ? Напишите, плиз, повнятнее.
 

Adelf

Administrator
Команда форума
Кстати никто так и не сказал, почему все-таки md5() лучше crypt().
Не лучше и не хуже. Аргумент админа про соль - ерунда. Выше показано как сделать соль в md5 без лишних движений.
Аргумент в пользу md5 - он используется в значительном большинстве php-скриптов.
 

Ekaterina

Новичок
Да я поняла про соль, спасибо. Извините за занудство просто хотелось разобраться и больше не возвращаться к этому: насколько я поняла crypt() поддерживает несколько алгоритмов шифрования и отличие получается только в этом? Плюс тогда вопрос вдогонку: как просмотреть значения констан
CRYPT_STD_DES, CRYPT_EXT_DES, CRYPT_MD5, CRYPT_BLOWFISH, чтобы узнать какие алгоритмы поддерживаются системой?
 

Фанат

oncle terrible
Команда форума
значение констант можно посмотреть с помощью секретного оператора echo

а этот Катя, похоже, исчерпал даже ресурсы синдрома в поле фром.
 

Ekaterina

Новичок
Автор оригинала: *****
значение констант можно посмотреть с помощью секретного оператора echo

а этот Катя, похоже, исчерпал даже ресурсы синдрома в поле фром.
черт, я ступила насчет эхо.

Всем спасибо за помощь, значит определю, какие алгоритмы поддерживаются и предоставлю их админу, если md5 с солью не устроит.
 

korchasa

LIMB infected
Автор оригинала: pilot911
$user_id лучше не использовать, как и другие подобные мускульные константы для записи, особенно, если код будет открытым

лучше использовать независимое значение под конкретный домен
Вообще, хорошо бы и то и другое (привязываться можно не только к id, но и к дате регистрации, например), чтобы хэши одинаковых паролей различались. Да, я параноик.
 

Ekaterina

Новичок
Автор оригинала: korchasa
Вообще, хорошо бы и то и другое (привязываться можно не только к id, но и к дате регистрации, например), чтобы хэши одинаковых паролей различались. Да, я параноик.
Спасибо, я учту.
 

Alexandre

PHPПенсионер
Кстати никто так и не сказал, почему все-таки md5() лучше crypt().
мд5-быстрее
мд5-меньше коллизий
сша1 лучше чем мд5, стандарты IETF рекомендуют его использовать (даже не его а сша-512)
ВОПРОСЫ?
за доп информацией рекомендую прочитать "Прикладнная криптография"
 
Сверху