程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php加密解密類的實現代碼

php加密解密類的實現代碼

編輯:關於PHP編程

       class Crypt{

      // 本文來源:龍哥博客

      protected $key = “”; //公鑰

      private function keyED($txt,$encrypt_key)

      {

      $encrypt_key = md5($encrypt_key);

      $ctr=0;

      $tmp = “”;

      for ($i=0;$i

      {

      if ($ctr==strlen($encrypt_key)){

      $ctr=0;

      }

      $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);

      $ctr++;

      }

      return $tmp;

      }

      public function encrypt($txt,$key=”")

      {

      if(empty($key)){

      $key=$this->key;

      }

      srand((double)microtime()*1000000);

      $encrypt_key = md5(rand(0,32000));

      $ctr=0;

      $tmp = “”;

      for ($i=0;$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 $this->keyED($tmp,$key);

      }

      public function decrypt($txt,$key=”")

      {

      if(empty($key)){

      $key=$this->key;

      }

      $txt = $this->keyED($txt,$key);

      $tmp = “”;

      for ($i=0;$i

      {

      $md5 = substr($txt,$i,1);

      $i++;

      $tmp.= (substr($txt,$i,1) ^ $md5);

      }

      return $tmp;

      }

      public function setKey($key)

      {

      if(empty($key)){

      return null;

      }

      $this->key=$key;

      }

      public function getKey()

      {

      return $this->key;

      }

      // Downloads By http://www.veryhuo.com

      }

      $string = “http://www.52blogger.com”;

      $crypt= new Crypt();

      $crypt->setKey(“http://www.52blogger.com”);

      $enc_text = $crypt->encrypt($string,$crypt->getKey());

      $dec_text = $crypt->decrypt($enc_text,$crypt->getKey());

      echo “加密前 : $string

      n”;

      echo “加密後 : $enc_text

      n”;

      echo “解密後 : $dec_text n”;

      ?>

      執行結果:

      加密前 : http://www.52blogger.com

      加密後 : hSzQ’Z* kP~y(WpVs=6Q3gZbR5QkhtZ(f=Zm

      解密後 : http://www.52blogger.com

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved