phpseclib\Crypt\TripleDES::_setupKey PHP Метод

_setupKey() публичный Метод

Creates the key schedule
См. также: phpseclib\Crypt\DES::_setupKey()
См. также: phpseclib\Crypt\Common\SymmetricKey::_setupKey()
public _setupKey ( )
    function _setupKey()
    {
        switch (true) {
            // if $key <= 64bits we configure our internal pure-php cipher engine
            // to act as regular [1]DES, not as 3DES. mcrypt.so::tripledes does the same.
            case strlen($this->key) <= 8:
                $this->des_rounds = 1;
                break;
                // otherwise, if $key > 64bits, we configure our engine to work as 3DES.
            // otherwise, if $key > 64bits, we configure our engine to work as 3DES.
            default:
                $this->des_rounds = 3;
                // (only) if 3CBC is used we have, of course, to setup the $des[0-2] keys also separately.
                if ($this->mode_3cbc) {
                    $this->des[0]->_setupKey();
                    $this->des[1]->_setupKey();
                    $this->des[2]->_setupKey();
                    // because $des[0-2] will, now, do all the work we can return here
                    // not need unnecessary stress parent::_setupKey() with our, now unused, $key.
                    return;
                }
        }
        // setup our key
        parent::_setupKey();
    }