Пароль

Тема в разделе "PHP", создана пользователем bucha2004, 24 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. bucha2004

    bucha2004

    Регистр.:
    9 фев 2007
    Сообщения:
    300
    Симпатии:
    76
    PHP:
    function code_password($password) {
        while (
    strlen($password) < 12) {
            
    $password .= "-";
        }    
        
    $key md5("V7qM91t0mtlkcI1UD");
        
    $res base64_encode(encrypt($password$key));
        return 
    $res;
    }

    function 
    encode_password($password) {
        
    $key md5("V7qM91t0mtlkcI1UD");
        
    $res decrypt(base64_decode($password), $key);
        
    $res trim(str_replace("-"" "$res));
        return 
    $res;
    }

    function 
    encrypt($data$secret) {
        
    $cipher = new blowfish;
        
    $encrypt '';
        for (
    $i 0$i strlen($data); $i+=8) {
            
    $block substr($data$i8);
            if (
    strlen($block) < 8) {
                
    $block full_str_pad($block8""1);
            }
            
    $encrypt .= $cipher->encryptBlock($block$secret);
        }
        return 
    $encrypt;
    }

    function 
    decrypt($data$secret) {
        
    $cipher = new blowfish;
        
    $decrypt '';
        for (
    $i 0$i strlen($data); $i+=8) {
            
    $decrypt .= $cipher->decryptBlock(substr($data$i8), $secret);
        } 
        return 
    trim($decrypt);
    }

    function 
    full_str_pad($input$pad_length$pad_string ''$pad_type 0) {
        
    $str '';
        
    $length $pad_length strlen($input);
        if (
    $length 0) { // str_repeat doesn't like negatives
            
    if ($pad_type == STR_PAD_RIGHT) { // STR_PAD_RIGHT == 1
                
    $str $input.str_repeat($pad_string$length);
            } elseif (
    $pad_type == STR_PAD_BOTH) { // STR_PAD_BOTH == 2
                
    $str str_repeat($pad_stringfloor($length/2));
                
    $str .= $input;
                
    $str .= str_repeat($pad_stringceil($length/2));
            } else { 
    // defaults to STR_PAD_LEFT == 0
                
    $str str_repeat($pad_string$length).$input;
            }
        } else { 
    // if $length is negative or zero we don't need to do anything
            
    $str $input;
        }
        return 
    $str;
    }
    Может ли кто то написать функцию для создания пароля по этому алгоритму, чтоб можно было вставить ее в PMA в соответствующее поле?


    Просто забыл пароль от админки, а восстановить не получается
     
  2. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Если забыт пароль, то знание алгоритма криптования пароля не поможет. Нужен либо конечный хеш, либо сам пароль :)

    А так вообще ничего не понятно, что хотел тс.
     
  3. nuke333

    nuke333 Создатель

    Регистр.:
    8 дек 2008
    Сообщения:
    47
    Симпатии:
    12

    может я чего не понимаю, но вот же функция, так и называется code_password, ей пихаешь новый пароль, она отдает хэш и его запихиваешь в PMA...
     
    bucha2004 нравится это.
Статус темы:
Закрыта.