php的一个简单加密解密代码

  

复制代码 代码如下:

  class SysCrypt{

  private $crypt_key='http://www.glzy8.com';//密钥

  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.glzy8.com');

  $text='[email protected]';

  $test1=$sc->encrypt($text);

  echo '原文:',$text;

  echo '<br />';

  echo '密文:',$test1;

  echo "<br/>";

  echo '解密:',$sc->decrypt($test1);

  输出结果类似:

  原文:[email protected]

  密文:BS8DbFU6AioCNFFlVGZQMgRGBDUOYlEzBXoAZgo0Bjk=

  解密:[email protected]