用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

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

时间:2015-01-23  来源:西部数据  作者:西部数据

PHP 的 Mcrypt 加密库又需要额外设置,很多人都是直接使用md5()函数加密,这个方法的确安全,但是因为md5是不可逆加密,无法还原密码,因此也有一些不便之处,本文介绍加密函数支持私钥,用起来还是不错的.

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

  1. <?php  
  2. // 说明:PHP 写的加密函数,支持私人密钥 
  3.  
  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.   //开源代码phpfensi.com 
  56. print "加密的 text : $enc_text <Br> ";  
  57. print "解密的 text : $dec_text <Br> ";  
  58. ?> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门