original_string: public function setKey($key, $iv = null)
      {
          if (!is_string($key)) {
              throw new Horde_Crypt_Blowfish_Exception('Encryption key must be a string.');
          }
  
          $len = strlen($key);
          if (($len > self::MAXKEYSIZE) || ($len == 0)) {
              throw new Horde_Crypt_Blowfish_Exception(sprintf('Encryption key must be less than %d characters (bytes) and non-zero. Supplied key length: %d', self::MAXKEYSIZE, $len));
          }
  
          $this->_crypt->key = $key;
  
          switch ($this->_crypt->cipher) {
          case 'cbc':
              if (is_null($iv)) {
                  if (is_null($this->iv)) {
                      $this->_crypt->setIv();
                  }
              } else {
                  $iv = substr($iv, 0, self::IV_LENGTH);
                  if (($len = strlen($iv)) < self::IV_LENGTH) {
                      $iv .= str_repeat(chr(0), self::IV_LENGTH - $len);
                  }
                  $this->_crypt->setIv($iv);
              }
              break;
  
          case 'ecb':
              $this->iv = false;
              break;
          }
      }
code: public function setKey($key, $iv = null)
      {
          if (!is_string($key)) {
              throw new Horde_Crypt_Blowfish_Exception('Encryption key must be a string.');
          }
  
          $len = strlen($key);
          if (($len > self::MAXKEYSIZE) || ($len == 0)) {
              throw new Horde_Crypt_Blowfish_Exception(sprintf('Encryption key must be less than %d characters (bytes) and non-zero. Supplied key length: %d', self::MAXKEYSIZE, $len));
          }
  
          $this->_crypt->key = $key;
  
          switch ($this->_crypt->cipher) {
          case 'cbc':
              if (is_null($iv)) {
                  if (is_null($this->iv)) {
                      $this->_crypt->setIv();
                  }
              } else {
                  $iv = substr($iv, 0, self::IV_LENGTH);
                  if (($len = strlen($iv)) < self::IV_LENGTH) {
                      $iv .= str_repeat(chr(0), self::IV_LENGTH - $len);
                  }
                  $this->_crypt->setIv($iv);
              }
              break;
  
          case 'ecb':
              $this->iv = false;
              break;
          }
      }
code_tokens: public function setKey ( $ key , $ iv = null ) { if ( ! is_string ( $ key ) ) { throw new Horde_Crypt_Blowfish_Exception ( 'Encryption key must be a string.' ) ; } $ len = strlen ( $ key ) ; if ( ( $ len > self :: MAXKEYSIZE ) || ( $ len == 0 ) ) { throw new Horde_Crypt_Blowfish_Exception ( sprintf ( 'Encryption key must be less than %d characters (bytes) and non-zero. Supplied key length: %d' , self :: MAXKEYSIZE , $ len ) ) ; } $ this -> _crypt -> key = $ key ; switch ( $ this -> _crypt -> cipher ) { case 'cbc' : if ( is_null ( $ iv ) ) { if ( is_null ( $ this -> iv ) ) { $ this -> _crypt -> setIv ( ) ; } } else { $ iv = substr ( $ iv , 0 , self :: IV_LENGTH ) ; if ( ( $ len = strlen ( $ iv ) ) < self :: IV_LENGTH ) { $ iv .= str_repeat ( chr ( 0 ) , self :: IV_LENGTH - $ len ) ; } $ this -> _crypt -> setIv ( $ iv ) ; } break ; case 'ecb' : $ this -> iv = false ; break ; } }
docstring: Sets the secret key.
  
  The key must be non-zero, and less than or equal to MAXKEYSIZE
  characters (bytes) in length.
  
  @param string $key  Key must be non-empty and less than MAXKEYSIZE
  bytes in length.
  @param string $iv   The initialization vector to use. Only needed for
  'cbc' cipher. If null, an IV is automatically
  generated.
  
  @throws Horde_Crypt_Blowfish_Exception
docstring_tokens: Sets the secret key .