app后台 接口加密解密 附带 一个冒泡

来源:互联网 发布:centos升级后不能启动 编辑:程序博客网 时间:2024/06/06 12:44
<?phpnamespace Home\Controller;use Think\Controller;class IndextestController extends Controller {    public function index(){        //冒泡排序        $arr=array(1,43,54,62,21,66,32,78,36,76,39);        //dump($arr);            $len=count($arr);            for($i=1; $i<$len; $i++)            {                for($a=0; $a<$len-$i; $a++)                {                    if($arr[$a] > $arr[$a+1])                    {                        $data=$arr[$a+1];                        $arr[$a+1]=$arr[$a];                        $arr[$a]=$data;                    }                }            }        $wang = serialize($arr);        $key = 'ming';        $jiami = $this->passport_encrypt($wang,$key);        dump($jiami);        $jiemo = $this->passport_decrypt($jiami,$key);        dump(unserialize($jiemo));    }    //加密函数APP    function passport_encrypt($txt, $key) {        srand((double)microtime() * 1000000);        $encrypt_key = md5(rand(0, 32000));        $ctr = 0;        $tmp = '';        for($i = 0;$i < strlen($txt); $i++) {            $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;            $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);        }        return base64_encode($this->passport_key($tmp, $key));    }    //解密函数    function passport_decrypt($txt, $key) {        $txt = $this->passport_key(base64_decode($txt), $key);        $tmp = '';        for($i = 0;$i < strlen($txt); $i++) {            $md5 = $txt[$i];            $tmp .= $txt[++$i] ^ $md5;        }        return $tmp;    }    function passport_key($txt, $encrypt_key) {        $encrypt_key = md5($encrypt_key);        $ctr = 0;        $tmp = '';        for($i = 0; $i < strlen($txt); $i++) {            $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;            $tmp .= $txt[$i] ^ $encrypt_key[$ctr++];        }        return $tmp;    }}
原创粉丝点击