Forum Webscript.Ru
Общие => Базы данных => Тема начата: cosss от 19 Февраля 2004, 23:08:55
-
Как хэшировать пароль в MySql? Мне вообще-то надо регистрацию юзеров сделать. С обычным полем varchar все работает как надо, без проблем разобрался, но это, я так понимаю, не безопасно... Штудировал доки мускуля, нифига не врубился. Плиз хелп :p
-
cosss
точно так же как и в других СУБД
На используемом языке хешируешь пароль (в ПХП - это функции [p]md5[/p], [p]sha1[/p] и функции из экстеншена mhash) и результат используемой функции вставляешь в запрос:
$password = md5($_POST[\'password\']);
$sql = "INSERT INTO tab (login, password) VALUES(\'$login\', \'$password\')");
можно использовать функции MySQL - MD5() и SHA1() :
$sql = "INSERT INTO tab (login, password) VALUES(\'$login\',MD5(\'$password\')"; но это менее безопасно.
-
Макс
Как все просто, спасибо.
А еще такой вопрос, как этот пароль на мыло отправлять? В том смысле как мне его извлечь?
-
хэш полученный в результате использования md5 sha1 необратимый, т.е. по хэшу обратно не узнаешь пароль.
cosss:
как этот пароль на мыло отправлять?
после того, как ты записал его в базу, никак. md5 sha1 - необратимы
Если надо сменить пароль: берешь отсылаешь пользователю пароль, генерируешь с него хэш и кладешь в базу, пользователь получил мыло, знает пароль, при вводе пароля ты генерируешь с него хэш и сравниваешь с тем, который лежит у тебя в базе.
-
Yukko
А как напр. этот форум напоминает тебе пароль по мылу?
Если не секрет, конечно ;)
-
cosss
какая разнаца, какой пароль посылать, если юзер его все равно забыл?
Как этот форум отсылает, я не знаю, но ответ ОЧЕНЬ ПРОСТОЙ
Любой желающий сам себе на него ответит,если хоть чуть-чуть понадеется на свои мозги, а не будет за каждым чихом бежать на форум.
Еслм форум отсылает тот же пароль, то он его не хэширует.
если отсылает лдругой - хэширует.
сложно самому догадаться?
-
RomikChef
Ну не все же такие умные. Откуда мне было знать, что третьего не дано?