function base_key_encode($txt,$key){
$txt=base64_encode($txt);//先将txt进行base64编码转换
$tmp="";//用来存贮通过key加密后的值
for($i=0;$i
$z=$txt[$i];
//echo "z=".$z."
$i
";
for($j=0;$j
// echo "key[j]=".$key[$j]."
";
// echo "z=".$z."
";
$z=$z ^ $key[$j];
}
$tmp.=$z;
//echo "
";
}
return $tmp;
}
function base_key_decode($txt,$key){
//echo "txt=".$txt."
";
$m=strlen($key)-1;//算出key的长度
for($i=0;$i
$z=$txt[$i];
//echo "z=".$z."
$i
";
for($j=$m;$j>=0;$j--){//将txt的第i个字符与key的每一个字符进行异或运算,顺序变为key的最后一位字符开始
//echo "j=".$j."
";
$z=$z ^ $key[$j];
//echo "z=".$z;
}
$tmp.=$z;
}
$tmp=base64_decode($tmp);
return $tmp;
}
$txt="123test";
echo $txt;//输出原始串
echo "
";
echo base_key_encode($txt,"key");//通过key加密后的串
echo "
";
echo base_key_decode(base_key_encode($txt,"key"),"key");//解密后的串
?>