您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> php编程 >> 正文

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

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 分享一个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]