PHP带密钥的加密解密函数

在一些开发中,我们使用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;
  50. }

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