1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

1.5.1 (101) Проблема и соответственно вопрос

Тема в разделе 'PW Вопросник', создана пользователем hommys, 16 мар 2015.

Статус темы:
Закрыта.
  1. TopicStarter Overlay

    hommys Пользователи

    Сообщения:
    5
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Russian Federation Russian Federation
    вот такой кусок кода:

    $Salt = $Login.$Pass;
    $Salt = md5($Salt);
    $Salt = "0x".$Salt;

    есть как сделать смену такого пароля?
    П.С. версия сборки другая но разработчик тот же
    П.П.С если кто знает помогите советом плиз давно уже пытаюсь сделать:)
    Последнее редактирование: 16 мар 2015
  2. 10000 Пользователи

    Сообщения:
    84
    Лайки:
    6
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    TEST
    Страна:
    Sri Lanka Sri Lanka
    сравнить хеши.
  3. TopicStarter Overlay

    hommys Пользователи

    Сообщения:
    5
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Russian Federation Russian Federation
    ошибся в вопросе как сделать смену
    а можно на каком нибудь простом примере? если не затруднит
  4. 10000 Пользователи

    Сообщения:
    84
    Лайки:
    6
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    TEST
    Страна:
    Sri Lanka Sri Lanka
    ...

    $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'");

    ...
  5. TopicStarter Overlay

    hommys Пользователи

    Сообщения:
    5
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Russian Federation Russian Federation
    На сколько я знаю у меня используется соль или она при смене не нужна:или $hash это и есть общее значение хэшей?
  6. wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Для удобства можно написать примерно такую функцию генерации нужного хеша пароля.

    PHP:
    function hashpwd($login,$passw,$h) {

        switch (
    $h) {
        default:
            
    $pass    false;
            break;
        case 
    1:
            
    $pass base64_encode(md5($login.$passwtrue));
            break;
        case 
    2:
            
    $pass    "0x".md5($login.$passw);
            break;
    }
    return 
    $pass;
    }
    в данную функцию можно конечно ещё добавить методы шифрования пароля, главное её удобство в том, что не потребуется в итоге эти методы писать непосредственно в коде ЛК, хватит и данной функции. Например для генерации хеша пароля на версию 1.5.1, вызываем функцию...

    PHP:
    hashpwd("testuser","12345",1);
    это мы вызывали метод 1, для генерации хеша для версии 1.5.1, метод 2 генерирует хеш для 1.4.4.

    в итоге смена пароля аккаунта может выглядеть так, например получаем данные из формы изменения пароля методом POST и сохраняем новый пароль:

    PHP:

    $hash 
    hashpwd($_POST['login'],$_POST['pass'],1);
    mysql_query("UPDATE users SET passwd='$hash' WHERE ID='$IDUSER'");
    Последнее редактирование: 16 мар 2015
    sysdev нравится это.
  7. TopicStarter Overlay

    hommys Пользователи

    Сообщения:
    5
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Russian Federation Russian Federation
    спасибо буду разбираться:) просто у меня сборка не именно ПВ и там такой вот метод шифрования лк тоже нет буду так лепить:)
  8. TopicStarter Overlay

    hommys Пользователи

    Сообщения:
    5
    Лайки:
    0
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Russian Federation Russian Federation
    в итоге у меня получилось что то типа вот такого:
    <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'");
    }

    я на правильном пути?)
  9. wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    ну в целом да, но оформляйте тут код в тег CODE. Так понимаю генерируете хеш для версии 144?
    --- добавлено: 16 мар 2015 в 21:46 ---
    ну и в вашем случае лучше делать проверку(выборку) нужной таблицы по логину аккаунта
    PHP:
    mysql_query("UPDATE users SET passwd='$hash' WHERE name='".$_POST['login']."'");
    Последнее редактирование модератором: 24 мар 2015
Черновик сохранён Черновик удалён
Similar Threads
  1. Colins

    Вопрос

    Colins, 4 сен 2011, в разделе: Delphi
    Ответов:
    2
    Просмотров:
    1.563
  2. darkworld
    Ответов:
    2
    Просмотров:
    901
  3. FasT
    Ответов:
    12
    Просмотров:
    2.072
  4. zena353
    Ответов:
    4
    Просмотров:
    1.548
  5. Goood
    Ответов:
    7
    Просмотров:
    1.479
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей