rc4的php加密解密

function rc4 ($pwd, $data) {

     $key[] ="";

     $box[] ="";  

     $pwd_length = strlen($pwd);

     $data_length = strlen($data);  

     for ($i = 0; $i < 256; $i++) {

      $key[$i] = ord($pwd[$i % $pwd_length]);

      $box[$i] = $i;

     }  

     for ($j = $i = 0; $i < 256; $i++) {

      $j = ($j + $box[$i] + $key[$i]) % 256;

      $tmp = $box[$i];

      $box[$i] = $box[$j];

      $box[$j] = $tmp;

     }  

     for ($a = $j = $i = 0; $i < $data_length; $i++) {

      $a = ($a + 1) % 256;

      $j = ($j + $box[$a]) % 256;  

      $tmp = $box[$a];

      $box[$a] = $box[$j];

      $box[$j] = $tmp;  

      $k = $box[(($box[$a] + $box[$j]) %256)];

      @$cipher .= chr(ord($data[$i]) ^ $k);  

     }  

     return $cipher;  

    }
  
function   hexToStr($hex)   
   {   
      $string="";   
      for   ($i=0;$i<strlen($hex)-1;$i+=2)   
      $string.=chr(hexdec($hex[$i].$hex[$i+1]));   
      return   $string;   
}
function strToHex($string)   
{
      return substr(chunk_split(bin2hex($string)),0,-2);

   }
 function rc4a($string)   
{
 global $key;    
return strToHex(rc4($key,$string));
 
       
   }
   function rc4b($string)   
{
global $key;   

return  @rc4($key,pack('H*',$string));

       
   }
//rc4b解密
//rc4a加密
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值