欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實(shí)現(xiàn)加強(qiáng)版加密解密類(lèi)實(shí)例

 更新時(shí)間:2015年07月29日 10:57:58   作者:DDIAN  
這篇文章主要介紹了PHP實(shí)現(xiàn)加強(qiáng)版加密解密類(lèi),實(shí)例分析了php加密解密的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了PHP實(shí)現(xiàn)加強(qiáng)版加密解密類(lèi)。分享給大家供大家參考。具體如下:

<?php
class Ender{
  private $enkey;//加密解密用的密鑰
  private $rep_char='#';
  //替換加密后的base64字符串中的=,因?yàn)?在有些場(chǎng)合是禁止使用的,
  //這里可以用一個(gè)允許的字符作為替換。
  //構(gòu)造參數(shù)是密鑰
  public function __construct($key=''){
    if(!$key){
      $this->enkey=$key;
    }
  }
  //設(shè)置密鑰http://blog.ddian.cn
  public function set_key($key){
    $this->enkey=$key;
  }
  private function keyED($txt,$encrypt_key) 
  { 
  $encrypt_key = md5($encrypt_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;
  }
  //加密字符串
  public function encrypt($txt,$key='') 
  {
  if(!$key){
    $key=$this->enkey;
  }
  srand((double)microtime()*1000000); 
  $encrypt_key = md5(rand(0,32000)); 
  $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++; 
  }
  $r=base64_encode($this->keyED($tmp,$key));
  $r=str_replace('=',$this->rep_char,$r);
  return $r; 
  }
  //解密字符串
  public function decrypt($txt,$key='') 
  {
  $txt=str_replace($this->rep_char,'=',$txt);
  $txt=base64_decode($txt);
  if(!$key){
      $key=$this->enkey;
  }
  $txt = $this->keyED($txt,$key); 
  $tmp = ""; 
  for ($i=0;$i<strlen($txt);$i++) 
  { 
  $md5 = substr($txt,$i,1); 
  $i++; 
  $tmp.= (substr($txt,$i,1) ^ $md5); 
  } 
  return $tmp; 
  }
}

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • php的ddos攻擊解決方法

    php的ddos攻擊解決方法

    這篇文章主要介紹了php的ddos攻擊解決方法,實(shí)例分析了ddos攻擊程序的原理與針對(duì)性的解決方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2015-01-01
  • 8個(gè)必備的PHP功能開(kāi)發(fā)

    8個(gè)必備的PHP功能開(kāi)發(fā)

    這篇文章主要介紹了8個(gè)必備的PHP功能開(kāi)發(fā),需要的朋友可以參考下
    2015-10-10
  • PHP Wrapper在SAE上的應(yīng)用方法

    PHP Wrapper在SAE上的應(yīng)用方法

    這篇文章主要介紹了PHP Wrapper在SAE上的應(yīng)用方法,詳細(xì)介紹了PHP Wrapper的功能、定義與使用技巧,進(jìn)一步分析了在新浪SAE平臺(tái)上進(jìn)行文件寫(xiě)操作的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-05-05
  • PHP Memcached應(yīng)用實(shí)現(xiàn)代碼

    PHP Memcached應(yīng)用實(shí)現(xiàn)代碼

    在很多場(chǎng)合,我們都會(huì)聽(tīng)到 memcached 這個(gè)名字,但很多同學(xué)只是聽(tīng)過(guò),并沒(méi)有用過(guò)或?qū)嶋H了解過(guò),只知道它是一個(gè)很不錯(cuò)的東東。這里簡(jiǎn)單介紹一下,memcached 是高效、快速的分布式內(nèi)存對(duì)象緩存系統(tǒng),主要用于加速 WEB 動(dòng)態(tài)應(yīng)用程序。
    2010-02-02
  • php中DOMDocument簡(jiǎn)單用法示例代碼(XML創(chuàng)建、添加、刪除、修改)

    php中DOMDocument簡(jiǎn)單用法示例代碼(XML創(chuàng)建、添加、刪除、修改)

    PHP寫(xiě)XML方法很多,這里主要介紹一下DOMDocument的用法,跟 JS大體上相同,其實(shí)非常簡(jiǎn)單。
    2010-12-12
  • PHP swoole的process模塊創(chuàng)建和使用子進(jìn)程操作示例

    PHP swoole的process模塊創(chuàng)建和使用子進(jìn)程操作示例

    這篇文章主要介紹了PHP swoole的process模塊創(chuàng)建和使用子進(jìn)程操作,結(jié)合實(shí)例形式分析了swoole的進(jìn)程管理process模塊實(shí)現(xiàn)進(jìn)程間通信相關(guān)操作技巧,需要的朋友可以參考下
    2020-03-03
  • php編寫(xiě)的mysqli增刪改查數(shù)據(jù)庫(kù)操作類(lèi)示例

    php編寫(xiě)的mysqli增刪改查數(shù)據(jù)庫(kù)操作類(lèi)示例

    這篇文章主要為大家介紹了php編寫(xiě)的mysqli增刪改查數(shù)據(jù)庫(kù)操作類(lèi)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • php郵箱地址正則表達(dá)式驗(yàn)證

    php郵箱地址正則表達(dá)式驗(yàn)證

    這篇文章主要介紹了php郵箱地址正則表達(dá)式驗(yàn)證,利用php語(yǔ)言實(shí)現(xiàn)一下電子郵件地址驗(yàn)證程序,使用的是php語(yǔ)言的正則表達(dá)式庫(kù),感興趣的小伙伴們可以參考一下
    2015-11-11
  • PHP無(wú)敵近乎加密方式!

    PHP無(wú)敵近乎加密方式!

    最近要用到PHP,所以去網(wǎng)上找了些資料!無(wú)意中看到這篇文章,推薦給大家.
    2010-07-07
  • PHP中的一些常用的超全局變量總結(jié)

    PHP中的一些常用的超全局變量總結(jié)

    PHP是一種廣泛使用的服務(wù)器端腳本語(yǔ)言,它被用于開(kāi)發(fā)各種Web應(yīng)用程序,在PHP中,有一些特殊的全局變量,被稱為超全局變量,在本文中,我們將深入了解PHP中的一些常用超全局變量,以及它們?cè)赪eb開(kāi)發(fā)中的重要性,需要的朋友可以參考下
    2023-11-11

最新評(píng)論