]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - lib/WikiDB/adodb/session/old/crypt.inc.php
Upgrade adodb
[SourceForge/phpwiki.git] / lib / WikiDB / adodb / session / old / crypt.inc.php
1 <?php
2 //       Session Encryption by Ari Kuorikoski <ari.kuorikoski@finebyte.com>
3 class MD5Crypt{
4                 function keyED($txt,$encrypt_key)
5                 {
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++;
13                                 }
14                                 return $tmp;
15                 }
16
17                 function Encrypt($txt,$key)
18                 {
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++)
24                                 {
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++;
29                                 }
30                                 return base64_encode($this->keyED($tmp,$key));
31                 }
32
33                 function Decrypt($txt,$key)
34                 {
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);
41                                 }
42                                 return $tmp;
43                 }
44
45                 function RandPass()
46                 {
47                                 $randomPassword = "";
48                                 srand((double)microtime()*1000000);
49                                 for($i=0;$i<8;$i++)
50                                 {
51                                                 $randnumber = rand(48,120);
52
53                                                 while (($randnumber >= 58 && $randnumber <= 64) || ($randnumber >= 91 && $randnumber <= 96))
54                                                 {
55                                                                 $randnumber = rand(48,120);
56                                                 }
57
58                                                 $randomPassword .= chr($randnumber);
59                                 }
60                                 return $randomPassword;
61                 }
62
63 }
64 ?>