fix Row size too large error, change varchar(255) to TEXT
[openemr.git] / gacl / adodb / session / crypt.inc.php
blob41cb06a5ad73a753eebf0aba00e610bf4913b1e3
1 <?php
2 // Session Encryption by Ari Kuorikoski <ari.kuorikoski@finebyte.com>
3 class MD5Crypt{
4 function keyED($txt,$encrypt_key)
6 $encrypt_key = md5($encrypt_key);
7 $ctr=0;
8 $tmp = "";
9 for ($i=0;$i<strlen($txt);$i++){
10 if ($ctr==strlen($encrypt_key)) $ctr=0;
11 $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
12 $ctr++;
14 return $tmp;
17 function Encrypt($txt,$key)
19 srand((double)microtime()*1000000);
20 $encrypt_key = md5(rand(0,32000));
21 $ctr=0;
22 $tmp = "";
23 for ($i=0;$i<strlen($txt);$i++)
25 if ($ctr==strlen($encrypt_key)) $ctr=0;
26 $tmp.= substr($encrypt_key,$ctr,1) .
27 (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
28 $ctr++;
30 return base64_encode($this->keyED($tmp,$key));
33 function Decrypt($txt,$key)
35 $txt = $this->keyED(base64_decode($txt),$key);
36 $tmp = "";
37 for ($i=0;$i<strlen($txt);$i++){
38 $md5 = substr($txt,$i,1);
39 $i++;
40 $tmp.= (substr($txt,$i,1) ^ $md5);
42 return $tmp;
45 function RandPass()
47 $randomPassword = "";
48 srand((double)microtime()*1000000);
49 for($i=0;$i<8;$i++)
51 $randnumber = rand(48,120);
53 while (($randnumber >= 58 && $randnumber <= 64) || ($randnumber >= 91 && $randnumber <= 96))
55 $randnumber = rand(48,120);
58 $randomPassword .= chr($randnumber);
60 return $randomPassword;
66 class SHA1Crypt{
68 function keyED($txt,$encrypt_key)
71 $encrypt_key = sha1($encrypt_key);
72 $ctr=0;
73 $tmp = "";
75 for ($i=0;$i<strlen($txt);$i++){
76 if ($ctr==strlen($encrypt_key)) $ctr=0;
77 $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
78 $ctr++;
80 return $tmp;
86 function Encrypt($txt,$key)
89 srand((double)microtime()*1000000);
90 $encrypt_key = sha1(rand(0,32000));
91 $ctr=0;
92 $tmp = "";
94 for ($i=0;$i<strlen($txt);$i++)
98 if ($ctr==strlen($encrypt_key)) $ctr=0;
100 $tmp.= substr($encrypt_key,$ctr,1) .
102 (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
104 $ctr++;
108 return base64_encode($this->keyED($tmp,$key));
114 function Decrypt($txt,$key)
117 $txt = $this->keyED(base64_decode($txt),$key);
119 $tmp = "";
121 for ($i=0;$i<strlen($txt);$i++){
123 $sha1 = substr($txt,$i,1);
125 $i++;
127 $tmp.= (substr($txt,$i,1) ^ $sha1);
131 return $tmp;
136 function RandPass()
138 $randomPassword = "";
139 srand((double)microtime()*1000000);
141 for($i=0;$i<8;$i++)
144 $randnumber = rand(48,120);
146 while (($randnumber >= 58 && $randnumber <= 64) || ($randnumber >= 91 && $randnumber <= 96))
148 $randnumber = rand(48,120);
151 $randomPassword .= chr($randnumber);
154 return $randomPassword;