ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/WEBCONDDB/php_CondDB/adodb/session/adodb-encrypt-mcrypt.php
Revision: 1.1
Committed: Fri Jun 29 07:49:48 2007 UTC (17 years, 10 months ago) by kdziedzi
Branch: MAIN
CVS Tags: V01-01-02, V01-01-01, V1_01_00, V01-01-00, V1_00_01, HEAD
Log Message:
Introducing new order in project

File Contents

# User Rev Content
1 kdziedzi 1.1 <?php
2    
3    
4     /*
5     V4.93 10 Oct 2006 (c) 2000-2006 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     ?>