详解PHP加密解密函数
来源:爱站网时间:2019-12-09编辑:网友分享
在开发过程中,加密是很常用的功能之一,加密算法可以使我们的程序安全运行,而PHP本身也提供了一些加密功能,下面就让爱站技术频道小编带我们详解PHP加密解密函数。
在开发过程中,加密是很常用的功能之一,加密算法可以使我们的程序安全运行,而PHP本身也提供了一些加密功能,下面就让爱站技术频道小编带我们详解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加密解密函数,js.aizhan.com的可信度还是比较高的,大家如果想学习更多的知识,可以收藏爱站技术频道!
上一篇:详解PHP序列化反序列化的方法
下一篇:php根据用户语言跳转相应网页