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

PHP带密钥的加密解密函数

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-21 11:01:02 浏览: 评论:0 

在一些开发中,我们使用curl等进行通信,如果你的一些隐私数据不进行加密,就可能造成信息泄露,带来不必要的麻烦,我们提供一个带密钥的加密解密函数,只要你的密钥不泄露,就可能很好的保护你的传输.

PHP带密钥的加密解密函数代码如下:

  1. function encrypt($data$key)  
  2. {  
  3.     $key    =   md5($key);  
  4.     $x      =   0;  
  5.     $len    =   strlen($data);  
  6.     $l      =   strlen($key);  
  7.     for ($i = 0; $i < $len$i++)  
  8.     {  
  9.         if ($x == $l)   
  10.         {  
  11.             $x = 0;  
  12.         }  
  13.         $char .= $key{$x};  
  14.         $x++;  
  15.     }  
  16.     for ($i = 0; $i < $len$i++)  
  17.     {  
  18.         $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);  
  19.     }  
  20.     return base64_encode($str);  
  21.  
  22. function decrypt($data$key)  
  23. {  
  24.     $key = md5($key);  
  25.     $x = 0;  
  26.     $data = base64_decode($data);  
  27.     $len = strlen($data);  
  28.     $l = strlen($key);  
  29.     for ($i = 0; $i < $len$i++)  
  30.     {  
  31.         if ($x == $l)   
  32.         {  
  33.             $x = 0;  
  34.         }  
  35.         $char .= substr($key$x, 1);  
  36.         $x++;  
  37.     }  
  38.     for ($i = 0; $i < $len$i++)  
  39.     {  
  40.         if (ord(substr($data$i, 1)) < ord(substr($char$i, 1)))  
  41.         {  
  42.             $str .= chr((ord(substr($data$i, 1)) + 256) - ord(substr($char$i, 1)));  
  43.         }  
  44.         else  
  45.         {  
  46.             $str .= chr(ord(substr($data$i, 1)) - ord(substr($char$i, 1)));  
  47.         }  
  48.     } //开源代码phpfensi.com 
  49.     return $str;  

上面的两个函数,一个是加密函数,一个是解密函数,encrypt($data, $key) 为加密函数,其中$data是要加密的内容,$key是你的密钥,decrypt($data, $key) 是解密函数,其中$data是要解密的字符串,$key是密钥.

Tags: PHP加密解密 PHP密钥函数

分享到: