当前位置:主页 >> PHP >> 正文
php加密和php解密函数
阅读:198 输入:2018-05-12 05:31:10

1.加密解密辅助函数

/* 
*辅助函数 
*/  
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;  
}

2.加密主函数

/* 
*功能:对字符串进行加密处理 
*参数一:需要加密的内容 
*参数二:密钥 
*/
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));  
}

3.解密主函数

/* 
*功能:对字符串进行解密处理 
*参数一:需要解密的密文 
*参数二:密钥 
*/  
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;  
}

目前常见的php代码混淆加密有phpjm phpjiami mzphp解密 加密解密字符串 都可能用到上述函数。