一组php加密解密函数分享
2014-10-08来源:易贤网

代码如下:

<?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='作者:jishu.admin5.com;

$key='jb51net';

$encrypt=passport_encrypt($str,$key);

$decrypt=passport_decrypt($encrypt,$key);

echo '原文:',$str.<br><hr>;

echo '密文:',$encrypt.<br><hr>;

echo '译文:',$decrypt.<br><hr>;

?>

更多信息请查看IT技术专栏

2026公务员·事业单位培训课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息