国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php 實現一個字符串加密解密的函數實例代碼

2024-05-04 23:51:41
字體:
來源:轉載
供稿:網友

php 實現一個字符串加密解密的函數

函數代碼如下:

/*********************************************************************  函數名稱:encrypt  函數作用:加密解密字符串  使用方法:  加密   :encrypt('str','E','nowamagic');  解密   :encrypt('被加密過的字符串','D','nowamagic');  參數說明:  $string  :需要加密解密的字符串  $operation:判斷是加密還是解密:E:加密  D:解密  $key   :加密的鑰匙(密匙);  http://www.cnblogs.com/roucheng/*********************************************************************/  function encrypt($string,$operation,$key='')  {    $key=md5($key);    $key_length=strlen($key);    $string=$operation=='D'?base64_decode($string):substr(md5($string.$key),0,8).$string;    $string_length=strlen($string);    $rndkey=$box=array();    $result='';    for($i=0;$i<=255;$i++)    {      $rndkey[$i]=ord($key[$i%$key_length]);      $box[$i]=$i;    }    for($j=$i=0;$i<256;$i++)    {      $j=($j+$box[$i]+$rndkey[$i])%256;      $tmp=$box[$i];      $box[$i]=$box[$j];      $box[$j]=$tmp;    }    for($a=$j=$i=0;$i<$string_length;$i++)    {      $a=($a+1)%256;      $j=($j+$box[$a])%256;      $tmp=$box[$a];      $box[$a]=$box[$j];      $box[$j]=$tmp;      $result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256]));    }    if($operation=='D')    {      if(substr($result,0,8)==substr(md5(substr($result,8).$key),0,8))      {        return substr($result,8);      }      else      {        return'';      }    }    else    {      return str_replace('=','',base64_encode($result));    }  }

使用實例:

$id = 132;  $token = encrypt($id, 'E', 'a');  echo '加密:'.encrypt($id, 'E', 'a');echo '<br />';  echo '解密:'.encrypt($token, 'D', 'a');

運行結果:

加密:AYCnIibFlg3ViRs
解密:132

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 邵阳县| 永安市| 达日县| 肇州县| 保亭| 邮箱| 武穴市| 金堂县| 肇庆市| 昭苏县| 永城市| 新和县| 桐柏县| 新津县| 剑河县| 石棉县| 定兴县| 河间市| 栾城县| 页游| 荃湾区| 曲松县| 治县。| 大田县| 志丹县| 蓬溪县| 双鸭山市| 安仁县| 抚远县| 临沧市| 汾阳市| 建始县| 文水县| 建湖县| 九江市| 濮阳市| 定南县| 房山区| 合山市| 彭泽县| 民勤县|