root/releases/0.9rc2/lib/adodb/crypt.inc.php

Revision 269, 1.4 kB (checked in by ben, 3 years ago)

--

  • Property svn:eol-style set to native
Line 
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 ?>
Note: See TracBrowser for help on using the browser.