PHP从零基础学编程 --- 自定义对称加密算法
//加密
function encode($string="Admin",$secret_key="UOlTZfC19ylawVnkG63WIhdZecdXi4UMxBBX21aro4WIGVLIvkZWXusmD9vqDvZ7yheUtG5KZsU7cNxZHrjPAA4BrYaMmOrkWOeJhdoVYIgp6yG8hq0Azy3IBGc0r0gp",$md5_key ="738604c279358ec611016fd36cb8adf5",$yi_wei=2){
$str_length = strlen($string);
$str = "";
$rand = rand(0,($str_length-1));
for($i=0;$i<$str_length;$i++){
$x = $string[$i];
$y = strpos($secret_key,$x);
echo $x." ".$y."<br>";
if($y){
$z = $secret_key[($y+$yi_wei)]."@$y%";
}else{
$z =$x."@0%";
}
if($i == $rand){
$str .=$z.$md5_key;
}else{
$str .=$z;
}
}
return $str;
}
//解密
function decode($string="",$secret_key="UOlTZfC19ylawVnkG63WIhdZecdXi4UMxBBX21aro4WIGVLIvkZWXusmD9vqDvZ7yheUtG5KZsU7cNxZHrjPAA4BrYaMmOrkWOeJhdoVYIgp6yG8hq0Azy3IBGc0r0gp",$md5_key ="738604c279358ec611016fd36cb8adf5",$yi_wei=2){
$string = str_replace($md5_key,"",$string);
$string_arr = explode("%",$string);
$str="";
foreach($string_arr as $key=>$v){
if(!empty($v)){
$x1 = explode("@",$v);
$x2 = $x1[0];
$x3 = $x1[1];
if($x3 >0){
$y1 = $secret_key[($x3+$yi_wei)];
if($y1 == $x2){
$str .=$secret_key[$x3];
}else{
$str .=$x2;
}
}else{
$str .=$x2;
}
}
}
return $str;
}
浙公网安备 33010602011771号