加密算法(原理)
所有加密算法用到的加密三大原理:①异或,②置换,③位移
对称加密(des)
特点:1异或运算
例子:

2置换
例子:

3位移
例子:

简易的加密算法(可能我写的这个简易的加密有点bug,通过加密的原理来实现的)
加密方法
function enctype($key,$content){
$str=$content ^ $key;
$str=base64_encode($str);
$strlen=strlen($str);
$arr=[];
$rand=3;
for ($i=0;$i<$strlen;$i++)
{
$arr[]=ord($str[$i])-$rand;
}
$stra=implode("&",$arr);
for ($i=0;$i<strlen($stra);$i++){
$inter=($i+3)%strlen($stra);
$data[]=$stra[$inter];
}
$att=implode('',$data);
return base64_encode($att);
}
解密方法
function dectype($key,$content){
$add=base64_decode($content);
for ($i=0;$i<strlen($add);$i++){
$inter=($i+strlen($add)-3)%strlen($add);
$data[]=$add[$inter];
}
$str=implode("",$data);
$st=explode("&",$str);
$stl3n=count($st);
$rand=3;
for ($i=0;$i<$stl3n;$i++)
{
$arr[]=chr($st[$i]+$rand);
}
$ss=implode("",$arr);
$a=base64_decode($ss);
$con=$a ^ $key;
return $con;
}
$key='21345678wertyuisdfgxzcvgnmwertyui';//一个串
// $key=uniqid();
// $content="加密内容";
// $en=enctype($key,$content);//加密
// print_r($en);die;
$en="OTUmNDAmNDkmNDgmNzAmNjQmMTEzJjQ1Jjg2JjUyJjExMjQ2Jg==";//加密后的数据
$de=dectype($key,$en);//解密后
print_r($de)


浙公网安备 33010602011771号