技术饭

PHP简单对称ID加密、解密算法

copylian    0 评论    12470 浏览    2022.01.07

PHP简单对称ID加密、解密算法,有时候需要对数据进行简单的混淆,不让别人轻易破解,所以就需要对数据进行一定的加密解密来保证数据的安全性,这里做个简单的算法。

/**

 * [encodeId ID加密]

 */

function encodeId($id = 0) {

    //加密

    return base64_encode(time() . $id);

}


改装:

/**

 * [encodeId ID加密]

 * @param int $id ID

 * @param int $time 时间戳

 */

function encodeId($id = 0, $time = '') {

    //时间戳

    if(empty($time)){

        $time = time();

    } else {

        $time = !empty(strtotime($time)) ? strtotime($time) : time();

    }


    //加密

    return base64_encode($time . $id);

}


/**

 * [decodeId ID解密]

 */

function decodeId($id = "") {

    //解密

    $id = str_replace("%3D", '=', $id);


    //转码

    $id = ConvertToUTF8(base64_decode($id));


    //截取

    $id = substr($id, 10);


    //返回

    return is_numeric($id) ? $id : 0;

}


/**

 * [ConvertToUTF8 转换为utf-8]

 */

function ConvertToUTF8($text){

    //检测

    $encoding = mb_detect_encoding($text, mb_detect_order(), false);


    //判断

    if($encoding == "UTF-8"){

        $text = mb_convert_encoding($text, 'UTF-8', 'UTF-8');    

    }


    //转换

    $out = iconv(mb_detect_encoding($text, mb_detect_order(), false), "UTF-8//IGNORE", $text);


    //返回

    return $out;

}


注意:这里有用到转码是为了保证,如果输入的解密串随机输入导致乱码报错。

加密:

1641535381(1).png

解密:

1641535583(1).png

只袄早~~~
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!
PHP 加密 解密 算法 

文明上网理性发言!

  • 还没有评论,沙发等你来抢