diff options
| author | Damien Regad <dregad@mantisbt.org> | 2013-08-05 13:56:24 +0200 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2013-08-05 13:56:24 +0200 |
| commit | 53010b5ceb548968e93c752defec085e7c508f4a (patch) | |
| tree | 332484926a4f961b6a12ca522f437e25bcace741 /session/adodb-encrypt-mcrypt.php | |
| parent | 212c76c103997ef3aeb539517899ed42ddffdae4 (diff) | |
| download | adodb-53010b5ceb548968e93c752defec085e7c508f4a.tar.gz adodb-53010b5ceb548968e93c752defec085e7c508f4a.tar.bz2 adodb-53010b5ceb548968e93c752defec085e7c508f4a.zip | |
Reorg: ADOdb5 (master) branch
- Move all files in adodb5/ to root
- Remove adodb-for-php4/ directory
Diffstat (limited to 'session/adodb-encrypt-mcrypt.php')
| -rw-r--r-- | session/adodb-encrypt-mcrypt.php | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/session/adodb-encrypt-mcrypt.php b/session/adodb-encrypt-mcrypt.php new file mode 100644 index 00000000..1ce881d5 --- /dev/null +++ b/session/adodb-encrypt-mcrypt.php @@ -0,0 +1,109 @@ +<?php + + +/* +V5.18 3 Sep 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved. + Contributed by Ross Smith (adodb@netebb.com). + Released under both BSD license and Lesser GPL library license. + Whenever there is any discrepancy between the two licenses, + the BSD license will take precedence. + Set tabs to 4 for best viewing. + +*/ + +if (!function_exists('mcrypt_encrypt')) { + trigger_error('Mcrypt functions are not available', E_USER_ERROR); + return 0; +} + +/** + */ +class ADODB_Encrypt_MCrypt { + /** + */ + var $_cipher; + + /** + */ + var $_mode; + + /** + */ + var $_source; + + /** + */ + function getCipher() { + return $this->_cipher; + } + + /** + */ + function setCipher($cipher) { + $this->_cipher = $cipher; + } + + /** + */ + function getMode() { + return $this->_mode; + } + + /** + */ + function setMode($mode) { + $this->_mode = $mode; + } + + /** + */ + function getSource() { + return $this->_source; + } + + /** + */ + function setSource($source) { + $this->_source = $source; + } + + /** + */ + function ADODB_Encrypt_MCrypt($cipher = null, $mode = null, $source = null) { + if (!$cipher) { + $cipher = MCRYPT_RIJNDAEL_256; + } + if (!$mode) { + $mode = MCRYPT_MODE_ECB; + } + if (!$source) { + $source = MCRYPT_RAND; + } + + $this->_cipher = $cipher; + $this->_mode = $mode; + $this->_source = $source; + } + + /** + */ + function write($data, $key) { + $iv_size = mcrypt_get_iv_size($this->_cipher, $this->_mode); + $iv = mcrypt_create_iv($iv_size, $this->_source); + return mcrypt_encrypt($this->_cipher, $key, $data, $this->_mode, $iv); + } + + /** + */ + function read($data, $key) { + $iv_size = mcrypt_get_iv_size($this->_cipher, $this->_mode); + $iv = mcrypt_create_iv($iv_size, $this->_source); + $rv = mcrypt_decrypt($this->_cipher, $key, $data, $this->_mode, $iv); + return rtrim($rv, "\0"); + } + +} + +return 1; + +?> |
