首頁 >後端開發 >php教程 >php使用異或實作的加密解密實例_PHP教程

php使用異或實作的加密解密實例_PHP教程

WBOY
WBOY原創
2016-07-21 16:12:241138瀏覽

若a=b ^ c;則b=a ^ c (^是異或的意思),php在處理異或的字元時先把字元轉換為二進位的ascii值,對這些值進行異或,取得結果後在將ascii值轉換為字符,原理說晚了直接貼實現的代碼:

複製代碼 代碼如下:

echo '';
  $str='世界,你好';  
  function jiami($str,$key){
   function jiami($str,$key){
   $key=md5 ($key);
   $k=md5(rand(0,100));//相當於動態金鑰
   $k=substr($k,0,3);
   $tmp="" ;
   for($i=0;$i    $tmp.=substr($str,$i,1) ^ substr($key,$i, 1);
   }
   return base64_encode($k.$tmp);
  }  
  function jiemi($str,$key. 🎜>   $key=md5($key);
   $str=base64_decode($str);
   $str=substr($str,3,$len-3);  $str=substr($str,3,$len-3); ;
   for($i=0;$i    $tmp.=substr($str,$i,1) ^ substr($key,$i, 1);
   }    
   return $tmp;
  }  
  $key='cc';  
  $key='cc';  
  $key='cc'; :'.$str.'
';
  echo '加密後:'.$jh.'
';
  echo '解密後:'.jiemi($jh, $key). '
';


有機會在完善下,本函數實現的是簡單的加密解密

http://www.bkjia.com/PHPjc/313657.html

truehttp: //www.bkjia.com/PHPjc/313657.htmlTechArticle若a=b ^ c;則b=a ^ c (^是異或的意思),php在處理異或的字元時先把字元轉換為二進位的ascii值,對這些值進行異或,取得結果後在將ascii值轉換...
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn