summaryrefslogtreecommitdiff
path: root/session/adodb-encrypt-mcrypt.php
diff options
context:
space:
mode:
authorDamien Regad <dregad@mantisbt.org>2013-08-05 13:56:24 +0200
committerDamien Regad <dregad@mantisbt.org>2013-08-05 13:56:24 +0200
commit53010b5ceb548968e93c752defec085e7c508f4a (patch)
tree332484926a4f961b6a12ca522f437e25bcace741 /session/adodb-encrypt-mcrypt.php
parent212c76c103997ef3aeb539517899ed42ddffdae4 (diff)
downloadadodb-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.php109
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;
+
+?>