当前位置:首页 > PHP教程 > php函数 > 列表

php自定义加密解密实现代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-23 14:14:48 浏览: 评论:0 

文章介绍了关于php 自定义加密解密,很多朋友都是用php自带的,我们如果自己写个会怎么样呢,下面看代码.

php 自定义加密解密实现代码如下:

  1. <?php  
  2. // 说明:PHP 写的加密函数,支持私人密钥  
  3. // 整理:http://www.phpfensi.com  
  4.    
  5. function keyED($txt,$encrypt_key)  
  6. {  
  7.     $encrypt_key = md5($encrypt_key);  
  8.     $ctr=0;  
  9.     $tmp = "";  
  10.     for ($i=0;$i<strlen($txt);$i++)  
  11.     {  
  12.         if ($ctr==strlen($encrypt_key)) $ctr=0;  
  13.         $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);  
  14.         $ctr++;  
  15.     }  
  16.     return $tmp;  
  17. }    
  18.    
  19. function encrypt($txt,$key)  
  20. {  
  21.     srand((double)microtime()*1000000);  
  22.     $encrypt_key = md5(rand(0,32000));  
  23.     $ctr=0;  
  24.     $tmp = "";  
  25.     for ($i=0;$i<strlen($txt);$i++)  
  26.     {  
  27.         if ($ctr==strlen($encrypt_key)) $ctr=0;  
  28.         $tmp.= substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));  
  29.         $ctr++;  
  30.     }  
  31.     return keyED($tmp,$key);  
  32. }    
  33.    
  34. function decrypt($txt,$key)  
  35. {  
  36.     $txt = keyED($txt,$key);  
  37.     $tmp = "";  
  38.     for ($i=0;$i<strlen($txt);$i++)  
  39.     {  
  40.         $md5 = substr($txt,$i,1);  
  41.         $i++;  
  42.         $tmp.= (substr($txt,$i,1) ^ $md5);  
  43.     }  
  44.     return $tmp;  
  45. }   
  46.    
  47. $key = "YITU.org";  
  48. $string = "我是加密字符";    
  49.    
  50. // encrypt $string, and store it in $enc_text  
  51. $enc_text = encrypt($string,$key);    
  52.    
  53. // decrypt the encrypted text $enc_text, and store it in $dec_text  
  54. $dec_text = decrypt($enc_text,$key);    
  55.    
  56. print "加密的 text : $enc_text <Br> ";  
  57. print "解密的 text : $dec_text <Br> ";  
  58. ?> 

Tags: php自定义 加密解密代码

分享到: