PHP加密解密函数详解

 更新时间:2015年10月28日 14:48:35   投稿:lijiao  
这篇文章主要介绍了PHP加密解密的函数,此函数实现了对部分变量值的加密的功能,感兴趣的小伙伴们可以参考一下

分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。
加密代码如下:

/* 
*功能:对字符串进行加密处理 
*参数一:需要加密的内容 
*参数二:密钥 
*/ 
function passport_encrypt($str,$key){ //加密函数 
  srand((double)microtime() * 1000000); 
  $encrypt_key=md5(rand(0, 32000)); 
  $ctr=0; 
  $tmp=''; 
  for($i=0;$i<strlen($str);$i++){ 
    $ctr=$ctr==strlen($encrypt_key)?0:$ctr; 
    $tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]); 
  } 
  return base64_encode(passport_key($tmp,$key)); 
} 

解密代码如下:

/* 
*功能:对字符串进行解密处理 
*参数一:需要解密的密文 
*参数二:密钥 
*/ 
function passport_decrypt($str,$key){ //解密函数 
  $str=passport_key(base64_decode($str),$key); 
  $tmp=''; 
  for($i=0;$i<strlen($str);$i++){ 
    $md5=$str[$i]; 
    $tmp.=$str[++$i] ^ $md5; 
  } 
  return $tmp; 
} 

辅助函数:

/* 
*辅助函数 
*/ 
function passport_key($str,$encrypt_key){ 
  $encrypt_key=md5($encrypt_key); 
  $ctr=0; 
  $tmp=''; 
  for($i=0;$i<strlen($str);$i++){ 
    $ctr=$ctr==strlen($encrypt_key)?0:$ctr; 
    $tmp.=$str[$i] ^ $encrypt_key[$ctr++]; 
  } 
  return $tmp; 
} 

使用如下所示:

$str='作者:余浩苗;电话:13611972365;电子邮件:123cvbz@163.com'; 
 
$key='hacker'; 
$encrypt=passport_encrypt($str,$key); 
$decrypt=passport_decrypt($encrypt,$key); 
 
echo '原文:',$str."<br><hr>"; 
echo '密文:',$encrypt."<br><hr>"; 
echo '译文:',$decrypt."<br><hr>"; 

以上就是为大家分享的php加密解密函数,希望大家喜欢,可以应用到自己的学习中。

相关文章

  • PHP-FPM的配置与优化讲解

    PHP-FPM的配置与优化讲解

    今天小编就为大家分享一篇关于PHP-FPM的配置与优化讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • PHP使用preg_split()分割特殊字符(元字符等)的方法分析

    PHP使用preg_split()分割特殊字符(元字符等)的方法分析

    这篇文章主要介绍了PHP使用preg_split()分割特殊字符(元字符等)的方法,结合具体实例形式分析了php正则分割的操作技巧与注意事项,需要的朋友可以参考下
    2017-02-02
  • PHP中使用unset销毁变量并内存释放问题

    PHP中使用unset销毁变量并内存释放问题

    PHP的unset()函数用来清除、销毁变量,不用的变量,我们可以用unset()将它销毁。但是某些时候,用unset()却无法达到销毁变量占用的内存!
    2012-07-07
  • golang 调用 php7详解及实例

    golang 调用 php7详解及实例

    这篇文章主要介绍了golang 调用 php7详解及实例的相关资料,需要的朋友可以参考下
    2017-01-01
  • 浅析PHP开发规范

    浅析PHP开发规范

    本篇文章是小编为大家整理的关于PHP开发规范的相关内容,适合PHP初学者,一起参考下吧。
    2018-02-02
  • php中json_encode中文编码问题分析

    php中json_encode中文编码问题分析

    众所周知使用json_encode可以方便快捷地将对象进行json编码,但是如果对象的属性中存在着中文,问题也就随之而来了。json_encode会将中文转换为unicode编码
    2011-09-09
  • php输出指定时间以前时间格式的方法

    php输出指定时间以前时间格式的方法

    这篇文章主要介绍了php输出指定时间以前时间格式的方法,可实现输出指定时间以前的具体时间格式,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php更改目录及子目录下所有的文件后缀的代码

    php更改目录及子目录下所有的文件后缀的代码

    今天遇到要改变当前目录下指定类型的文件类型,本来想要用批处理来做这个,结果没找到合适。就自己去查了下资料,用Php来处理一下。
    2010-09-09
  • yum命令安装php7和相关扩展

    yum命令安装php7和相关扩展

    本文给大家简单总结了一下在Linux中使用yum命令安装PHP7和其他相关扩展的方法,有需要的小伙伴可以参考下
    2016-07-07
  • php使用sql数据库 获取字段问题介绍

    php使用sql数据库 获取字段问题介绍

    由于sql server中,ntext和nvarchar字段是用unicode编码存储内容的,因此php通过mssql扩展读取带ntext和nvarchar类型字段的时候会抱错
    2013-08-08

最新评论