php加密解密

<?php    
  $key   =   "This   is   supposed   to   be   a   secret   key   !!!";    
   
  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;    
  }    
   
  function   encrypt($txt,$key)    
  {    
  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++;    
  }    
  return   keyED($tmp,$key);    
  }    
   
  function   decrypt($txt,$key)    
  {    
  $txt   =   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;    
  }    
   
  $string   =   "真的是这样的吗?";    
   
  //   encrypt   $string,   and   store   it   in   $enc_text    
  $enc_text   =   encrypt($string,$key);    
   
  //   decrypt   the   encrypted   text   $enc_text,   and   store   it   in   $dec_text    
  $dec_text   =   decrypt($enc_text,$key);    
   
  print   "Original   text   :   $string   <Br>/n";    
  print   "Encrypted   text   :   $enc_text   <Br>/n";    
  print   "Decrypted   text   :   $dec_text   <Br>/n";    
  ?>     
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值