original_string: protected function _decode($value, $encrypt, $key)
      {
          if (!$encrypt) {
              return $this->_explode($value);
          }
          $this->_checkCipher($encrypt);
          $prefix = 'Q2FrZQ==.';
          $prefixLength = strlen($prefix);
  
          if (strncmp($value, $prefix, $prefixLength) !== 0) {
              return '';
          }
  
          $value = base64_decode(substr($value, $prefixLength), true);
  
          if ($value === false || $value === '') {
              return '';
          }
  
          if ($key === null) {
              $key = $this->_getCookieEncryptionKey();
          }
          if ($encrypt === 'rijndael') {
              $value = Security::rijndael($value, $key, 'decrypt');
          }
          if ($encrypt === 'aes') {
              $value = Security::decrypt($value, $key);
          }
  
          if ($value === false) {
              return '';
          }
  
          return $this->_explode($value);
      }
code: protected function _decode($value, $encrypt, $key)
      {
          if (!$encrypt) {
              return $this->_explode($value);
          }
          $this->_checkCipher($encrypt);
          $prefix = 'Q2FrZQ==.';
          $prefixLength = strlen($prefix);
  
          if (strncmp($value, $prefix, $prefixLength) !== 0) {
              return '';
          }
  
          $value = base64_decode(substr($value, $prefixLength), true);
  
          if ($value === false || $value === '') {
              return '';
          }
  
          if ($key === null) {
              $key = $this->_getCookieEncryptionKey();
          }
          if ($encrypt === 'rijndael') {
              $value = Security::rijndael($value, $key, 'decrypt');
          }
          if ($encrypt === 'aes') {
              $value = Security::decrypt($value, $key);
          }
  
          if ($value === false) {
              return '';
          }
  
          return $this->_explode($value);
      }
code_tokens: protected function _decode ( $ value , $ encrypt , $ key ) { if ( ! $ encrypt ) { return $ this -> _explode ( $ value ) ; } $ this -> _checkCipher ( $ encrypt ) ; $ prefix = 'Q2FrZQ==.' ; $ prefixLength = strlen ( $ prefix ) ; if ( strncmp ( $ value , $ prefix , $ prefixLength ) !== 0 ) { return '' ; } $ value = base64_decode ( substr ( $ value , $ prefixLength ) , true ) ; if ( $ value === false || $ value === '' ) { return '' ; } if ( $ key === null ) { $ key = $ this -> _getCookieEncryptionKey ( ) ; } if ( $ encrypt === 'rijndael' ) { $ value = Security :: rijndael ( $ value , $ key , 'decrypt' ) ; } if ( $ encrypt === 'aes' ) { $ value = Security :: decrypt ( $ value , $ key ) ; } if ( $ value === false ) { return '' ; } return $ this -> _explode ( $ value ) ; }
docstring: Decodes and decrypts a single value.
  
  @param string $value The value to decode & decrypt.
  @param string|false $encrypt The encryption cipher to use.
  @param string|null $key Used as the security salt if specified.
  @return string|array Decoded values.
docstring_tokens: Decodes and decrypts a single value .