From 12fe58d997d2066dc362fd393a18b4e5da190513 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Wed, 27 May 2009 15:11:53 -0700 Subject: Rename 'kohana' to 'system' to conform to the Kohana filesystem layout. I'm comfortable with us not clearly drawing the distinction about the fact that it's Kohana. --- kohana/libraries/Encrypt.php | 164 ------------------------------------------- 1 file changed, 164 deletions(-) delete mode 100644 kohana/libraries/Encrypt.php (limited to 'kohana/libraries/Encrypt.php') diff --git a/kohana/libraries/Encrypt.php b/kohana/libraries/Encrypt.php deleted file mode 100644 index 3d564f99..00000000 --- a/kohana/libraries/Encrypt.php +++ /dev/null @@ -1,164 +0,0 @@ - $size) - { - // Shorten the key to the maximum size - $config['key'] = substr($config['key'], 0, $size); - } - - // Find the initialization vector size - $config['iv_size'] = mcrypt_get_iv_size($config['cipher'], $config['mode']); - - // Cache the config in the object - $this->config = $config; - - Kohana::log('debug', 'Encrypt Library initialized'); - } - - /** - * Encrypts a string and returns an encrypted string that can be decoded. - * - * @param string data to be encrypted - * @return string encrypted data - */ - public function encode($data) - { - // Set the rand type if it has not already been set - if (Encrypt::$rand === NULL) - { - if (KOHANA_IS_WIN) - { - // Windows only supports the system random number generator - Encrypt::$rand = MCRYPT_RAND; - } - else - { - if (defined('MCRYPT_DEV_URANDOM')) - { - // Use /dev/urandom - Encrypt::$rand = MCRYPT_DEV_URANDOM; - } - elseif (defined('MCRYPT_DEV_RANDOM')) - { - // Use /dev/random - Encrypt::$rand = MCRYPT_DEV_RANDOM; - } - else - { - // Use the system random number generator - Encrypt::$rand = MCRYPT_RAND; - } - } - } - - if (Encrypt::$rand === MCRYPT_RAND) - { - // The system random number generator must always be seeded each - // time it is used, or it will not produce true random results - mt_srand(); - } - - // Create a random initialization vector of the proper size for the current cipher - $iv = mcrypt_create_iv($this->config['iv_size'], Encrypt::$rand); - - // Encrypt the data using the configured options and generated iv - $data = mcrypt_encrypt($this->config['cipher'], $this->config['key'], $data, $this->config['mode'], $iv); - - // Use base64 encoding to convert to a string - return base64_encode($iv.$data); - } - - /** - * Decrypts an encoded string back to its original value. - * - * @param string encoded string to be decrypted - * @return string decrypted data - */ - public function decode($data) - { - // Convert the data back to binary - $data = base64_decode($data); - - // Extract the initialization vector from the data - $iv = substr($data, 0, $this->config['iv_size']); - - // Remove the iv from the data - $data = substr($data, $this->config['iv_size']); - - // Return the decrypted data, trimming the \0 padding bytes from the end of the data - return rtrim(mcrypt_decrypt($this->config['cipher'], $this->config['key'], $data, $this->config['mode'], $iv), "\0"); - } - -} // End Encrypt -- cgit v1.2.3