PHP实现加密和解密的简单代码

jopen 11年前

<?php  $key = "www.open-open.com!!!";  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 = "phpxd.com!!!";  //加密并把加密的值给$enc_text  $enc_text = encrypt($string,$key);  //解密并把加密的值给$dec_text    $dec_text = decrypt($enc_text,$key);    //打印:  print "Original text : $string <Br>";  print "Encrypted text : $enc_text <Br>";  print "Decrypted text : $dec_text <Br>";  ?>