вот такой кусок кода: $Salt = $Login.$Pass; $Salt = md5($Salt); $Salt = "0x".$Salt; есть как сделать смену такого пароля? П.С. версия сборки другая но разработчик тот же П.П.С если кто знает помогите советом плиз давно уже пытаюсь сделать:) Для удобства можно написать примерно такую функцию генерации нужного хеша пароля. function hashpwd($login,$passw,$h) { switch ($h) { default: $pass = false; break; case 1: $pass = base64_encode(md5($login.$passw, true)); break; case 2: $pass = "0x".md5($login.$passw); break; } return $pass; } в данную функцию можно конечно ещё добавить методы шифрования пароля, главное её удобство в том, что не потребуется в итоге эти методы писать непосредственно в коде ЛК, хватит и данной функции. Например для генерации хеша пароля на версию 1.5.1, вызываем функцию... hashpwd("testuser","12345",1); это мы вызывали метод 1, для генерации хеша для версии 1.5.1, метод 2 генерирует хеш для 1.4.4. в итоге смена пароля аккаунта может выглядеть так, например получаем данные из формы изменения пароля методом POST и сохраняем новый пароль: $hash = hashpwd($_POST['login'],$_POST['pass'],1); mysql_query("UPDATE users SET passwd='$hash' WHERE ID='$IDUSER'"); спасибо буду разбираться:) просто у меня сборка не именно ПВ и там такой вот метод шифрования лк тоже нет буду так лепить:) в итоге у меня получилось что то типа вот такого: <title> Смена пароля</title> <head> <meta http-equiv="content-type" content="text/html"; charset="UTF-8" /> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <center> <form id="changepass" action="?do=changepass" method=post> <br><h3> Смена пароля</h3><br> <center> Логин:<br> <input class="input_box" type=text name=login><br> Новый пароль:<br> <input class="input_box" type=password name=passwd><br> E-Mail:<br> <input class="input_box" type=text name=email><br> <input class="input_submit" type=submit name=submit value="Смена"><br> </table> </form> <?php $config = array ( 'host' => 'localhost', 'user' => 'root', 'pass' => 'game', 'name' => 'shengui', ); { $link = mysql_connect($config['host'], $config['user'], $config['pass']) or die ("Нет соединения с MySQL"); mysql_select_db($config['name'], $link) or die ("Базы ".$DBName." не существует o_O"); $login = $_POST['login']; $passw = $_POST['passwd']; $Email = $_POST['email']; } function hashpwd($login,$passw,$h) { switch ($h) { default: $pass = false; break; case 1: $pass = base64_encode(md5($login.$passw, true)); break; case 2: $pass = "0x".md5($login.$passw); break; } return $pass; { $hash = hashpwd($_POST['login'],$_POST['pass'],2); mysql_query("UPDATE users SET passwd='$hash' WHERE ID='$IDUSER'"); } я на правильном пути?)
вот такой кусок кода: $Salt = $Login.$Pass; $Salt = md5($Salt); $Salt = "0x".$Salt; есть как сделать смену такого пароля? П.С. версия сборки другая но разработчик тот же П.П.С если кто знает помогите советом плиз давно уже пытаюсь сделать:) Для удобства можно написать примерно такую функцию генерации нужного хеша пароля. function hashpwd($login,$passw,$h) { switch ($h) { default: $pass = false; break; case 1: $pass = base64_encode(md5($login.$passw, true)); break; case 2: $pass = "0x".md5($login.$passw); break; } return $pass; } в данную функцию можно конечно ещё добавить методы шифрования пароля, главное её удобство в том, что не потребуется в итоге эти методы писать непосредственно в коде ЛК, хватит и данной функции. Например для генерации хеша пароля на версию 1.5.1, вызываем функцию... hashpwd("testuser","12345",1); это мы вызывали метод 1, для генерации хеша для версии 1.5.1, метод 2 генерирует хеш для 1.4.4. в итоге смена пароля аккаунта может выглядеть так, например получаем данные из формы изменения пароля методом POST и сохраняем новый пароль: $hash = hashpwd($_POST['login'],$_POST['pass'],1); mysql_query("UPDATE users SET passwd='$hash' WHERE ID='$IDUSER'"); спасибо буду разбираться:) просто у меня сборка не именно ПВ и там такой вот метод шифрования лк тоже нет буду так лепить:)
... $hash1=base64_encode(md5($newlogin.$newpass,true)); //$hash2="0x".md5($newlogin.$newpass); mysql_query("UPDATE users SET name='$newlogin', passwd='$hash1', phonenumber='$ndata', email='$newemail', mobilenumber='$newphone' WHERE ID='$persid'"); ... На сколько я знаю у меня используется соль или она при смене не нужна:или $hash это и есть общее значение хэшей?
сравнить хеши. ошибся в вопросе как сделать смену а можно на каком нибудь простом примере? если не затруднит
вот такой кусок кода: $Salt = $Login.$Pass; $Salt = md5($Salt); $Salt = "0x".$Salt; есть как сделать смену такого пароля? П.С. версия сборки другая но разработчик тот же П.П.С если кто знает помогите советом плиз давно уже пытаюсь сделать:)
Имена участников (разделяйте запятой).