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

<?php
namespace 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;
    }



}

猜你喜欢

转载自blog.csdn.net/wpeishi/article/details/77051804