萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php的一個簡單加密解密代碼

php的一個簡單加密解密代碼

 分享一個php加密解密的類,在用戶注冊的時候發送郵件驗證的時候估計會用的到的,代碼如下

   代碼如下: class SysCrypt{  private $crypt_key='http://www.jb51.net';//密鑰  public function __construct($crypt_key){   $this->crypt_key=$crypt_key;  }  public function encrypt($txt){   srand((double)microtime()*1000000);   $encrypt_key=md5(rand(0,32000));   $ctr=0;   $tmp='';   for($i=0;$i<strlen($txt);$i++){    $ctr=$ctr==strlen($encrypt_key)?0:$ctr;    $tmp.=$encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]);   }   return base64_encode(self::__key($tmp,$this->crypt_key));  }  public function decrypt($txt){   $txt=self::__key(base64_decode($txt),$this->crypt_key);   $tmp='';   for($i=0;$i<strlen($txt);$i++){    $md5=$txt[$i];    $tmp.=$txt[++$i]^$md5;   }   return $tmp;  }  private function __key($txt,$encrypt_key){   $encrypt_key=md5($encrypt_key);   $ctr=0;   $tmp='';   for($i=0;$i<strlen($txt);$i++){    $ctr=$ctr==strlen($encrypt_key)?0:$ctr;    $tmp.=$txt[$i]^$encrypt_key[$ctr++];   }   return $tmp;  }  public function __destruct(){   $this->crypt_key=NULL;  } }     該類使用方法:   代碼如下: $sc=new SysCrypt('http://www.jb51.net'); $text='[email protected]'; $test1=$sc->encrypt($text); echo '原文:',$text; echo '<br />'; echo '密文:',$test1; echo "<br/>"; echo '解密:',$sc->decrypt($test1);     輸出結果類似:   原文:[email protected] 密文:BS8DbFU6AioCNFFlVGZQMgRGBDUOYlEzBXoAZgo0Bjk= 解密:[email protected]  
copyright © 萬盛學電腦網 all rights reserved