欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP中加密解密字符串函数源代码

程序员文章站 2022-05-10 13:04:55
...
PHP中加密解密字符串函数源代码:
  1. /**
  2. *功能:对字符串进行加密处理
  3. *参数一:需要加密的内容
  4. *参数二:密钥
  5. */
  6. function passport_encrypt($str,$key){ //加密函数
  7. srand((double)microtime() * 1000000);
  8. $encrypt_key=md5(rand(0, 32000));
  9. $ctr=0;
  10. $tmp='';
  11. for($i=0;$i $ctr=$ctr==strlen($encrypt_key)?0:$ctr;
  12. $tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]);
  13. }
  14. return base64_encode(passport_key($tmp,$key));
  15. }
  16. /**
  17. *功能:对字符串进行解密处理
  18. *参数一:需要解密的密文
  19. *参数二:密钥
  20. */
  21. function passport_decrypt($str,$key){ //解密函数
  22. $str=passport_key(base64_decode($str),$key);
  23. $tmp='';
  24. for($i=0;$i $md5=$str[$i];
  25. $tmp.=$str[++$i] ^ $md5;
  26. }
  27. return $tmp;
  28. }
  29. /**
  30. *辅助函数
  31. */
  32. function passport_key($str,$encrypt_key){
  33. $encrypt_key=md5($encrypt_key);
  34. $ctr=0;
  35. $tmp='';
  36. for($i=0;$i $ctr=$ctr==strlen($encrypt_key)?0:$ctr;
  37. $tmp.=$str[$i] ^ $encrypt_key[$ctr++];
  38. }
  39. return $tmp;
  40. }
  41. $str='作者:uphtm.com;
  42. $key='uphtm.com';
  43. $encrypt=passport_encrypt($str,$key);
  44. $decrypt=passport_decrypt($encrypt,$key);
  45. echo '原文:',$str."

    ";
  46. echo '密文:',$encrypt."

    ";
  47. echo '译文:',$decrypt."

    ";
  48. ?>
复制代码

加密解密, PHP