/********************************************
函数名称:encrypt
函数作用:加密解密字符串
使用方法:
加密 :encrypt('str','E','qingdou');
解密 :encrypt('被加密过的字符串','D','qingdou');
参数说明:
$string :需要加密解密的字符串
$operation:判断是加密还是解密:E:加密 D:解密
$key :加密的钥匙(密匙);
*********************************************************************/
function lxfamnsec($string,$operation,$key='')
{
//自行定义解密,加密代码,防止接口被人使用
$operin='da';
$operout='x';
if ($operation!=$operout && $operation!=$operin){
return('指令错误,请核实');
}
$key_length=strlen($key);
if ($operation==$operout){
$string=base64_decode($string);
}
//字符串长度
$string_length=strlen($string);
$result='';
for($a=$j=$i=0;$i<$string_length;$i++)
{
//^异或运算符,二进制进行异或运算,可正可反str^key=result result^key=str
$result.=chr(ord($string[$i])^ord($key[$i%$key_length]));
}
if($operation== $operout)
{
return($result);
}
else
{//base64转码
return base64_encode($result);
}
}
转载请注明出处:转载自http://lxfamn.cn/blog
未经允许不得转载:lxfamn » PHP可逆加密算法