1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Какая шифровка пароля?

Тема в разделе "Для новичков", создана пользователем SadJoker20, 10.05.2015.

Загрузка
  1. SadJoker20

    SadJoker20 Пользователь

    Регистрация:
    05.06.13
    Сообщения:
    1
    Симпатии:
    0
    Версия XF:
    1.1.5
    Ребят, подскажите..
    Какая шифровка идет пароля, не могу разобраться...
    Нужно восстановить свой пароль.
    В примере:
    sha1(sha1($pass))

    сам пароль: enAX1BMvQmC5YTvyjvK7_9VEdqJ1hpFVUPS2TfuO
    И еще один: _Zc1cMbzFXEMPgakBnG9C9Qn4pp-7uJ3-gsE24D8

    Код:
    <?php
    
    /**
    * Core authentication method.
    *
    * @package XenForo_Authentication
    */
    class XenForo_Authentication_Core extends XenForo_Authentication_Abstract
    {
        /**
        * Password info for this authentication object
        *
        * @var array
        */
        protected $_data = array();
    
        /**
        * Hash function to use for generating salts and passwords
        *
        * @var string
        */
        protected $_hashFunc = '';
    
        /**
        * Setup the hash function
        */
        protected function _setupHash()
        {
            if ($this->_hashFunc)
            {
                return;
            }
    
            if (extension_loaded('hash'))
            {
                $this->_hashFunc = 'sha256';
            }
            else
            {
                $this->_hashFunc = 'sha1';
            }
        }
    
        /**
        * Perform the hashing based on the function set
        *
        * @param string
        *
        * @return string The new hashed string
        */
        protected function _createHash($data)
        {
            $this->_setupHash();
            switch ($this->_hashFunc)
            {
                case 'sha256':
                    return hash('sha256', $data);
                case 'sha1':
                    return sha1($data);
                default:
                    throw new XenForo_Exception("Unknown hash type");
            }
        }
    
        protected function _newPassword($password, $salt)
        {
            $hash = $this->_createHash($this->_createHash($password) . $salt);
            return array('hash' => $hash, 'salt' => $salt, 'hashFunc' => $this->_hashFunc);
        }
    
        /**
        * Initialize data for the authentication object.
        *
        * @param string   Binary data from the database
        */
        public function setData($data)
        {
            $this->_data = unserialize($data);
            $this->_hashFunc = $this->_data['hashFunc'];
        }
    
        /**
        * Generate new authentication data
        * @see XenForo_Authentication_Abstract::generate()
        */
        public function generate($password)
        {
            if (!is_string($password) || $password === '')
            {
                return false;
            }
    
            $salt = $this->_createHash(self::generateSalt());
            $data = $this->_newPassword($password, $salt);
            return serialize($data);
        }
    
        /**
        * Authenticate against the given password
        * @see XenForo_Authentication_Abstract::authenticate()
        */
        public function authenticate($userId, $password)
        {
            if (!is_string($password) || $password === '' || empty($this->_data))
            {
                return false;
            }
    
            $userHash = $this->_createHash($this->_createHash($password) . $this->_data['salt']);
            return ($userHash === $this->_data['hash']);
        }
    }
     
  2. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Пароль из хеша восстановить нельзя. Можно лишь проверить, подходит он или нет.
     
    illusionist нравится это.
  3. Kolya groza morey

    Kolya groza morey Местный

    Регистрация:
    14.06.13
    Сообщения:
    366
    Симпатии:
    118
    Версия XF:
    1.5.9
    Регистрируйтесь на форуме другим ником, отрываете майадмин, копируете хеш пароля нового юзера, и заменяете его в нужного юзера.
     
    illusionist нравится это.
  4. illusionist

    illusionist Заблокирован

    Регистрация:
    09.03.13
    Сообщения:
    141
    Симпатии:
    26
    Версия XF:
    1.4.7
    На то оно и пароль, чтобы быть зашифрованным. И другие не догадались
    для восстановления используйте: Забыли пароль?
    Даже глобальному администратору не стоит задавать вопрос, так как ответ не известный. :confused:
     

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