original_string: protected function _getCipherOb($key)
      {
          if (!is_string($key)) {
              throw new Horde_Secret_Exception('Key must be a string', Horde_Secret_Exception::KEY_NOT_STRING);
          }
  
          if (!strlen($key)) {
              throw new Horde_Secret_Exception('Key must be non-zero.', Horde_Secret_Exception::KEY_ZERO_LENGTH);
          }
  
          $key = substr($key, 0, 56);
  
          $idx = hash('md5', $key);
          if (!isset($this->_cipherCache[$idx])) {
              $this->_cipherCache[$idx] = new Horde_Crypt_Blowfish($key);
          }
  
          return $this->_cipherCache[$idx];
      }
code: protected function _getCipherOb($key)
      {
          if (!is_string($key)) {
              throw new Horde_Secret_Exception('Key must be a string', Horde_Secret_Exception::KEY_NOT_STRING);
          }
  
          if (!strlen($key)) {
              throw new Horde_Secret_Exception('Key must be non-zero.', Horde_Secret_Exception::KEY_ZERO_LENGTH);
          }
  
          $key = substr($key, 0, 56);
  
          $idx = hash('md5', $key);
          if (!isset($this->_cipherCache[$idx])) {
              $this->_cipherCache[$idx] = new Horde_Crypt_Blowfish($key);
          }
  
          return $this->_cipherCache[$idx];
      }
code_tokens: protected function _getCipherOb ( $ key ) { if ( ! is_string ( $ key ) ) { throw new Horde_Secret_Exception ( 'Key must be a string' , Horde_Secret_Exception :: KEY_NOT_STRING ) ; } if ( ! strlen ( $ key ) ) { throw new Horde_Secret_Exception ( 'Key must be non-zero.' , Horde_Secret_Exception :: KEY_ZERO_LENGTH ) ; } $ key = substr ( $ key , 0 , 56 ) ; $ idx = hash ( 'md5' , $ key ) ; if ( ! isset ( $ this -> _cipherCache [ $ idx ] ) ) { $ this -> _cipherCache [ $ idx ] = new Horde_Crypt_Blowfish ( $ key ) ; } return $ this -> _cipherCache [ $ idx ] ; }
docstring: Returns the cached crypt object.
  
  @param string $key  The key to use for [de|en]cryption. Only the first
  56 bytes of this string is used.
  
  @return Horde_Crypt_Blowfish  The crypt object.
  @throws Horde_Secret_Exception
docstring_tokens: Returns the cached crypt object .