Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
3 / 3 / 1
Регистрация: 18.09.2015
Сообщений: 44
1

"Warning: md5() expects parameter 1 to be string, object given"

07.12.2015, 13:07. Показов 3313. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
возникли проблемы с хешированием пароля, выдаёт ошибку: Warning: md5() expects parameter 1 to be string, object given in "путь..."
вот код функции:
PHP
1
2
3
function bHash($hash) {
    return md5(crypt(md5($hash),"соль"));
}
что не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2015, 13:07
Ответы с готовыми решениями:

Warning: trim() expects parameter 1 to be string, array given in J:\home\wagure\www\libraries\joomla\html\parameter.php on line 83
// Set base path $this->_elementPath = dirname( __FILE__ ).DS.'parameter'.DS.'element'; if...

Warning: trim() expects parameter 1 to be string, array given in
Доброго времени суток! Раньше всё работало,но потом хостер обновил php Проблемма такая Warning:...

PHP Warning: trim() expects parameter 1 to be string, array given
Помогите пожалуйста! Не могу разобраться (( 1549: if (is_utf8($arr)) $arr = trim($arr);

Ошибка Warning: strpos() expects parameter 1 to be string, array given in
При работе с сайтом выдает такую ошибку. Warning: strpos() expects parameter 1 to be string,...

9
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
07.12.2015, 13:48 2
Цитата Сообщение от killj Посмотреть сообщение
return md5(crypt(md5($hash),"соль"));
Md5 ток 1 параментр можно а вы еще и соль даёте.
0
3 / 3 / 1
Регистрация: 18.09.2015
Сообщений: 44
07.12.2015, 13:57  [ТС] 3
Azdeman, соль я даю не md5, а crypt'у

Добавлено через 4 минуты
сама функция работает, но когда я ставлю вместо строки переменную, что-то идёт не так, к примеру, bHash("текст...") <-- работает, а так: bHash($var) <-- Нет

Добавлено через 2 минуты
ну а если конкретнее, то я хочу сделать подтверждение регистрации, но id пользователя хочу зашифровать, чтобы любой, кто захочет не смог активировать все аккаунты
0
Фрилансер
Эксперт JSЭксперт HTML/CSSЭксперт PHP
1846 / 1342 / 599
Регистрация: 12.01.2011
Сообщений: 5,432
07.12.2015, 13:58 4
У меня всё работает
PHP
1
2
3
4
5
6
7
<?php
function bHash($hash) {
    return md5(crypt(md5($hash),"соль"));
}
    $k = "sqq";
    echo bHash($k);
    ?>
PHP
1
2
3
4
5
6
<?php
function bHash($hash) {
    return md5(crypt(md5($hash),"соль"));
}
    echo bHash("sqq");
    ?>
0
162 / 161 / 66
Регистрация: 28.06.2015
Сообщений: 576
07.12.2015, 14:00 5
Может стоит попробовать:
PHP
1
return md5(crypt(md5($hash),"salt"));
к примеру. Потому что неизвестно как работает с русскими символами crypt
А во вторых вы пробовали разбить ваш метод на несколько частей например так:
PHP
1
2
3
4
5
function bHash($hash) {
    $pass = md5($hash);
    $pass = crypt($pass, "соль")
    return md5($pass);
}
И посмотреть в какой строке ошибка?
0
3 / 3 / 1
Регистрация: 18.09.2015
Сообщений: 44
07.12.2015, 14:06  [ТС] 6
Azdeman, в общем вот код, которым я хочу отправить подтверждение:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function bHash($hash) {
    return md5(crypt(md5($hash),"666de5hrgsa346w56vil"));
}
function conf_r($to,$id) {
    Mail::$to = $to;
    Mail::$from = 'linch13200@mail.ru';
    Mail::$message = 'Вы зарегистрировались на нашем сайте,
                      пройдите по ссылке ниже, чтобы подтвердить свой аккаунт:
                      http://сайт.ру/index.php?module=cab&active=1&id='.bHash($id);
    Mail::$tema = 'Подтверждение регистрации';
    return Mail::SendMessage();
}
if (isset($_GET['id']) && isset($_GET['active']) && $_GET['active'] == 1 ) {
    
    $t_n_s = mysqli_fetch_assoc(q("SELECT `id` FROM `users` ORDER BY `id` DESC LIMIT 1" ));
        if ($_GET['id'] == bHash($t_n_s['id'])) {
            q("UPDATE `iofers`.`users` SET `active` = '1' WHERE `users`.`id` = ".$t_n_s['id']);
            $info = 'E-mail адрес подтверждён!';
        } else {
            $info = 'Ошибка!';
        }
}
Добавлено через 1 минуту
Xenox, думаю проблема не в функции
0
25 / 25 / 15
Регистрация: 12.10.2013
Сообщений: 183
07.12.2015, 14:09 7
Попробуйте вывести дамп @$t_n_s['id']
Ошибка указывает на то, что в md5() передается объект, а не строка.
0
3 / 3 / 1
Регистрация: 18.09.2015
Сообщений: 44
07.12.2015, 14:20  [ТС] 8
n0n4m3r, вот что вывело - string(2) "28" , вроде нормально

Добавлено через 4 минуты
я вот только что проверил, если снять шифрование id и попробовать активировать, то всё получается
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
07.12.2015, 14:59 9
собственно, вопрос.. А чем не устраивает password_hash + password_verify ?
0
-8 / 10 / 5
Регистрация: 18.12.2012
Сообщений: 81
08.12.2015, 14:44 10
PHP
1
2
3
4
5
6
<?php
  $login = "Admin";
  $password = "48503dfd58720bd5ff35c102065a52d7"; //В реальности считывается из БД
  if (($_GET['login'] == $login) && (md5($_GET['password']) == $password)) echo "Welcome!";
  else echo "Access denied";
?>
0
08.12.2015, 14:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2015, 14:44
Помогаю со студенческими работами здесь

Warning: strcmp() expects parameter 2 to be string, array given in C:\xampp\htdocs\use_of_files_in_PHP3.php on line 91
Здравствуйте! Столкнулся в своей программе: &lt;?php $j = 0; if (isset($_GET)) { $page =...

Ошибка Warning: mysqli::query() expects parameter 1 to be string, object given in
Добрый день! Пишу страницу логина вот код &lt;?php include_once 'db.php'; if (isset($_POST))...

Warning: mysql_query() expects parameter 1 to be string, object given in Q:\home\soks\www\login.php on line 12
Ошибка на 12 строчке, не могу понять почему &lt;?php session_start(); //connect to database...

Warning: mysql_result() expects parameter 1 to be resource, object given in
понимаю что ошибка говорит о том что ожидает параметр 1, как в mysqli правильно прописать? ...

Warning: mysqli_query() expects parameter 1 to be mysqli, string given
Помогите с ошибками Warning: mysqli_query() expects parameter 1 to be mysqli, string given in...

Warning: mysql_query() expects parameter 2 to be resource, string given
Здравствуйте! При выполнении скрипта PHP выдает такие ошибки: Warning: mysql_query() expects...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru