"Fossies" - the Fresh Open Source Software Archive

Member "phpESP/admin/include/lib/adodb/session/adodb-encrypt-mcrypt.php" (5 Apr 2008, 1828 Bytes) of package /linux/www/old/phpESP-2.1.4.tgz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) PHP source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "adodb-encrypt-mcrypt.php" see the Fossies "Dox" file reference documentation.

    1 <?php
    2 
    3 
    4 /*
    5 V4.98 13 Feb 2008  (c) 2000-2008 John Lim (jlim#natsoft.com.my). All rights reserved.
    6          Contributed by Ross Smith (adodb@netebb.com). 
    7   Released under both BSD license and Lesser GPL library license.
    8   Whenever there is any discrepancy between the two licenses,
    9   the BSD license will take precedence.
   10       Set tabs to 4 for best viewing.
   11 
   12 */
   13 
   14 if (!function_exists('mcrypt_encrypt')) {
   15     trigger_error('Mcrypt functions are not available', E_USER_ERROR);
   16     return 0;
   17 }
   18 
   19 /**
   20  */
   21 class ADODB_Encrypt_MCrypt {
   22     /**
   23      */
   24     var $_cipher;
   25 
   26     /**
   27      */
   28     var $_mode;
   29 
   30     /**
   31      */
   32     var $_source;
   33 
   34     /**
   35      */
   36     function getCipher() {
   37         return $this->_cipher;
   38     }
   39 
   40     /**
   41      */
   42     function setCipher($cipher) {
   43         $this->_cipher = $cipher;
   44     }
   45 
   46     /**
   47      */
   48     function getMode() {
   49         return $this->_mode;
   50     }
   51 
   52     /**
   53      */
   54     function setMode($mode) {
   55         $this->_mode = $mode;
   56     }
   57 
   58     /**
   59      */
   60     function getSource() {
   61         return $this->_source;
   62     }
   63 
   64     /**
   65      */
   66     function setSource($source) {
   67         $this->_source = $source;
   68     }
   69 
   70     /**
   71      */
   72     function ADODB_Encrypt_MCrypt($cipher = null, $mode = null, $source = null) {
   73         if (!$cipher) {
   74             $cipher = MCRYPT_RIJNDAEL_256;
   75         }
   76         if (!$mode) {
   77             $mode = MCRYPT_MODE_ECB;
   78         }
   79         if (!$source) {
   80             $source = MCRYPT_RAND;
   81         }
   82 
   83         $this->_cipher = $cipher;
   84         $this->_mode = $mode;
   85         $this->_source = $source;
   86     }
   87 
   88     /**
   89      */
   90     function write($data, $key) {
   91         $iv_size = mcrypt_get_iv_size($this->_cipher, $this->_mode);
   92         $iv = mcrypt_create_iv($iv_size, $this->_source);
   93         return mcrypt_encrypt($this->_cipher, $key, $data, $this->_mode, $iv);
   94     }
   95 
   96     /**
   97      */
   98     function read($data, $key) {
   99         $iv_size = mcrypt_get_iv_size($this->_cipher, $this->_mode);
  100         $iv = mcrypt_create_iv($iv_size, $this->_source);
  101         $rv = mcrypt_decrypt($this->_cipher, $key, $data, $this->_mode, $iv);
  102         return rtrim($rv, "\0");
  103     }
  104 
  105 }
  106 
  107 return 1;
  108 
  109 ?>