Показать сообщение отдельно

  #5  
Старый 17.09.2009, 21:12
svesve
Постоянный
Регистрация: 15.06.2007
Сообщений: 527
С нами: 9950786

Репутация: 214


По умолчанию

простой класс шифрования строки, думаю будет полезен новичкам
PHP код:
class Crypter{

   var 
$key;


   function 
Crypter($clave){
      
$this->key $clave;
   }

   function 
setKey($clave){
      
$this->key $clave;
   }
   
   function 
keyED($txt) { 
      
$encrypt_key md5($this->key); 
      
$ctr=0
      
$tmp ""
      for (
$i=0;$i<strlen($txt);$i++) { 
         if (
$ctr==strlen($encrypt_key)) $ctr=0
         
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1); 
         
$ctr++; 
      } 
      return 
$tmp
   } 
   
   function 
encrypt($txt){ 
      
//srand((double)microtime()*1000000); 
      
$encrypt_key md5($this->key); 
      
$ctr=0
      
$tmp ""
      for (
$i=0;$i<strlen($txt);$i++){ 
         if (
$ctr==strlen($encrypt_key)) $ctr=0
         
$tmp.= substr($encrypt_key,$ctr,1) . 
             (
substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1)); 
         
$ctr++; 
      } 
      return 
base64_encode($this->keyED($tmp)); 
   } 

   function 
decrypt($txt) { 
      
$txt $this->keyED(base64_decode($txt)); 
      
$tmp ""
      for (
$i=0;$i<strlen($txt);$i++){ 
         
$md5 substr($txt,$i,1); 
         
$i++; 
         
$tmp.= (substr($txt,$i,1) ^ $md5); 
      } 
      return 
$tmp
   } 


Далее вызываем класс и определяем ключ для нашего шифрования

PHP код:
$crypt= new Crypter('ТУТ ПИШЕМ КЛЮЧ');

Например

$crypt
= new Crypter('anti4at'); 
чтобы зашифровать строку
PHP код:
$str='password'// строка которую надо зашифровать
$crp=$crypt->encrypt($str); 
в переменной crp лежит зашифрованая строка password

чтобы расшифровать

PHP код:
$decrp=$crypt->decrypt($crp); 
 
Ответить с цитированием