Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2011, 17:52   #1
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
Вопрос md5 php

У меня есть форма для авторизации в php-файле имя и пароль находятся в БД Решил добавить функцию md5 для надежного хранения пороля
Использовал функцию таким образом
$salt1="Бызэ";
$salt2="Дыннэх";
$passw=md5("$salt1$password$salt2") ;
И после этого записал в базу данных значение $passw

В другом файле извлекаю ранее записаное значение из базы данных ($ccc['passw']) И снова создаю переменную $passw тем же способом с тем же значением переменной $password (используя функцию md5) Вывожу с помощью echo эти переменные на экран Они должны быть одинаковы по значению но они почему-то разные Подскажите в чем может быть ошибка (начал выводить значения на экран потому-что авторизироватся не удавалось)


$ccc=@mysql_fetch_array($pgs);
echo $ccc['passw'];
echo $passw;
gunsoy вне форума Ответить с цитированием
Старый 21.11.2011, 18:38   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

тут несколько вариантов
- какое поле (тип и длинну) используете для хранения пароля в бд?
- как записываете в бд (код)
ADSoft вне форума Ответить с цитированием
Старый 21.11.2011, 18:47   #3
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

tinytext

mysql_query("insert into authors values (NULL, '$name', '$passw', .......)");
gunsoy вне форума Ответить с цитированием
Старый 21.11.2011, 18:55   #4
GriFFoN
Пользователь
 
Аватар для GriFFoN
 
Регистрация: 03.06.2011
Сообщений: 54
По умолчанию

Цитата:
Сообщение от gunsoy Посмотреть сообщение
tinytext

mysql_query("insert into authors values (NULL, '$name', '$passw', .......)");
Тут вроде должно быть что то вроде этого
mysql_query("insert into authors ('название столбца с name',' название столбца с passw',...) values (NULL, '$name', '$passw', .......)");
GriFFoN вне форума Ответить с цитированием
Старый 21.11.2011, 19:06   #5
gunsoy
Форумчанин
 
Регистрация: 30.12.2010
Сообщений: 280
По умолчанию

Ну $passw содержит значение обработанное функцией md5 Тип столбца в который записывается пароль tinytext
gunsoy вне форума Ответить с цитированием
Старый 21.11.2011, 22:17   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

попробуй varchar[32]
ADSoft вне форума Ответить с цитированием
Старый 21.11.2011, 22:17   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

и проверь - выводи на экран значение переменной перд записью.... и сравнивай тут же в БД
ADSoft вне форума Ответить с цитированием
Старый 21.11.2011, 23:10   #8
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Вот так надо
Код:
$passw=md5("$salt1.$password.$salt2") ;
Точку потеряли =)
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 22.11.2011, 00:13   #9
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

а еще можно вот такой хеш рассчитать

Код:
function sufhexAtom($str) {
$h = md5($str);
$h1 = '';
for ($i=0; $i<16; $i++) { 
	$h1.=chr(hexdec($h{$i})*16+$i);
	$h1.=chr(hexdec($h{$i+16})*16+$i); 
}
$h1 = md5($h1);
for ($i=0; $i<32; $i++) {
	$cod[$i][0] = $h{$i};
	$cod[$i][1] = $i;
}
sort($cod);
for ($i=0; $i<32; $i++) {
	$h2[]=$h1{$cod[$i][1]};
}
return implode('',$h2);
}

echo sufhexAtom('hello world'); // 2305260711a0c5c373aee78959f484cc
Lesha вне форума Ответить с цитированием
Старый 22.11.2011, 17:34   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

На самом деле не могут эти строки отличаться, если все правильно сделано. Но сказать в чем проблема не видя самого кода - невозможно.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Различие MD5 Delphi и MD5 PHP Viteef Общие вопросы Delphi 14 09.02.2011 11:53
MD5 на C++ btf Общие вопросы C/C++ 0 08.05.2010 15:56
Строку в MD5-hash если Строка является MD5-хешем... Человек_Борща Общие вопросы Delphi 0 13.04.2010 15:27
PHP MD5 и Delphi/C/C++ MD5 в чем отличие? Человек_Борща Общие вопросы Delphi 1 05.04.2010 20:18