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 | ?> |
---|