1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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;
?>
|