Show Source00001 <?php
00026 $drv = parse_ini_file(ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.Z_PROJECT_DIR.DRS.ZIGSETTINGSDIR.DRS.'sec.ini.php', false);
00027 switch($drv['driver']){
00028 case 'z':
00029 case 'Z':
00030 case 'x':
00031 case 'X':
00032 if(!@include_once(ZIGROOT.DRS.Z_DIR_SEC.DRS.'xor'.DRS.'xor.php')){
00033 perror('Cant include '.ZIGROOT.DRS.Z_DIR_SEC.DRS.'xor'.DRS.'xor.php');
00034 }
00040 class zCrypt_intermediate extends zCryptDrv_xor{}
00041 break;
00042 case 'm':
00043 case 'M':
00044 if(!@include_once(ZIGROOT.DRS.Z_DIR_SEC.DRS.'mcrypt'.DRS.'mcpt.php')){
00045 perror('Cant include '.ZIGROOT.DRS.Z_DIR_SEC.DRS.'mcrypt'.DRS.'mcpt.php');
00046 }
00052 class zCrypt_intermediate extends zCryptDrv_mcrypt{}
00053 break;
00054 case 'b':
00055 case 'B':
00056 if(!@include_once(ZIGROOT.DRS.Z_DIR_SEC.DRS.'bth'.DRS.'bth.php')){
00057 perror('Cant include '.ZIGROOT.DRS.Z_DIR_SEC.DRS.'bth'.DRS.'bth.php');
00058 }
00064 class zCrypt_intermediate extends zCryptDrv_both{}
00065 break;
00066 default:
00067 perror('Unknown Encryption dirver '.$drv['driver'].' on '.'sec.ini.php');
00068 exit(1);
00069 }
00076 class zCryptObj extends zCrypt_intermediate{
00077 var $skey;
00078
00079 function zCryptObj(){
00080 $this->__construct();
00081 }
00082 function __construct(){
00083 parent::__construct();
00084 $tmp_ini_key = parse_ini_file(ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.Z_PROJECT_DIR.DRS.ZIGSETTINGSDIR.DRS.'zcpt.ini.php', false);
00085 $this->skey = $tmp_ini_key['key'];
00086 }
00094 function small_enc($string){
00095 $key = $this->skey;
00096 for($i=0; $i<=strlen($string)-1; $i++){
00097 for($j=0; $j<=strlen($key)-1; $j++){
00098 $string[$i] = $string[$i]^$key[$j];
00099 }
00100 if($i != 0 && $i != strlen($string)-1){
00101 $string[$i] = $string[$i]^$string[$i-1]^$string[$i+1];
00102 }
00103 }
00104 return $string;
00105 }
00113 function small_dcd($string){
00114 $key = $this->skey;
00115 for($i=strlen($string)-1; $i>=0; $i--){
00116 if($i == 0 || $i == strlen($string)-1){
00117 for($j=0; $j<=strlen($key)-1; $j++){
00118 $string[$i] = $string[$i]^$key[$j];
00119 }
00120 }else{
00121 $string[$i] = $this->small_enc($string[$i], $key)^$string[$i-1]^$string[$i+1];
00122 }
00123 }
00124 return (int)$string;
00125 }
00126 }
00128 ?>