gc-fallout
[anomen-overlay.git] / www-apps / gc-fallout / dev / shacrypt.php
blob37ee25c45b892f35711b92766e91f56df6d837a4
1 <?php
3 function base64_url_encode($input) {
4 return strtr(base64_encode($input), '+=', '_-');
7 function base64_url_decode($input) {
8 return base64_decode(strtr($input, '_-', '+='));
11 function rand_iv()
13 $t = time();
14 $s = sha1($t);
15 return substr($s, 0, 4);
18 function sha1_encrypt($iv, $pass, $plain)
20 $i = 0;
21 $len = strlen($plain);
22 $cipher = $pass;
23 $result = '';
24 while ($i < $len) {
25 $cipher = sha1("/$iv/$cipher/$i/$pass/", true);
26 # echo "key: /$cipher/$i/$pass/<br />\n";
27 $pool = strlen($cipher); // 20
28 $chunk = substr($plain, $i, $pool);
29 $i += $pool;
30 $r = $cipher ^ $chunk;
31 $result .= $r;
33 return $result;
36 $plaintext = 'test34543 ggopkp 45 34 56 4kl lkklklfwekjerkw rweklj lkj54iojfjddfklrjrltjertr etkrjekltjd';
38 $iv_r = rand_iv();
39 echo "iv_r: $iv_r <br />\n";
40 $iv ='abcdefghjklmnopqrst' ;
42 $enc = sha1_encrypt($iv_r, $iv, $plaintext);
45 echo " <br />\n";
46 $benc = base64_url_encode($iv_r . $enc);
47 echo $benc . " <br />\n";
48 #echo ase64_url_encode($enc) . " <br />\n";
50 echo "\n<hr />\n";
53 $dbenc = base64_url_decode($benc);
54 $iv_r2 = substr($dbenc, 0,4);
55 echo "iv_r: $iv_r2 <br />\n";
56 echo substr($dbenc,4);
57 $dec = sha1_encrypt($iv_r, $iv, substr($dbenc,4));
59 echo "'$dec' <br />\n";
60 if ($dec == $plaintext) { echo ' OK '; }
62 echo "\n<br />\n";
64 echo urlencode("_-=,.");