php使用异或实现的加密解密实例

Penelope ·
更新时间:2024-11-13
· 589 次阅读

若a=b ^ c;则b=a ^ c (^是异或的意思),php在处理异或的字符时先把字符转化为二进制的ascii值,对这些值进行异或,获取结果后在将ascii值转化为字符,原理说晚了直接贴实现的代码:
代码如下:
echo '<meta charset="utf-8">';
  $str='世界,你好';  
  function jiami($str,$key){
   $key=md5($key);
   $k=md5(rand(0,100));//相当于动态密钥
   $k=substr($k,0,3);
   $tmp="";
   for($i=0;$i<strlen($str);$i++){
    $tmp.=substr($str,$i,1) ^ substr($key,$i,1);
   }
   return base64_encode($k.$tmp);
  }  
  function jiemi($str,$key){
   $len=strlen($str);
   $key=md5($key);
   $str=base64_decode($str);
   $str=substr($str,3,$len-3);
   $tmp="";
   for($i=0;$i<strlen($str);$i++){
    $tmp.=substr($str,$i,1) ^ substr($key,$i,1);
   }    
   return $tmp;
  }  
  $key='cc';
  $jh=jiami($str, $key);
  echo '加密前:'.$str.'<br>';
  echo '加密后:'.$jh.'<br>';
  echo '解密后:'.jiemi($jh, $key).'<br>';

有机会在完善下,本函数实现的是简单的加密解密

您可能感兴趣的文章:带密匙的php加密解密示例分享一组PHP可逆加密解密算法实例代码php加密算法之实现可逆加密算法和解密分享php使用base64加密解密图片示例分享php的一个简单加密解密代码php加密解密实用类分享PHP加密扩展库Mcrypt安装和实例php加密解密函数authcode的用法详细解析PHP加密函数 Javascript/Js 解密函数php实现MD5加密16位(不要默认的32位)php pki加密技术(openssl)详解解析如何用php screw加密php源代码php_screw 1.5:php加密: 安装与使用详解具有时效性的php加密解密函数代码一个简单的php加密解密函数(动态加密)深入PHP数据加密详解PHP写的加密函数,支持私人密钥(详细介绍)php实现aes加密类分享



加密 异或 加密解密 PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号