PHP简单对称ID加密与解密方法

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

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

<?php
    /**
   * [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;
  }
?>

使用方法

<?php
encodeId('1'); //加密
decodeId('MTY2MzgzMTQ5NzE=') //解密
?>

本文标题为:PHP简单对称ID加密与解密方法

基础教程推荐