当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP实现的ID混淆算法类与用法示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-10-23 14:28:05 浏览: 评论:0 

这篇文章主要介绍了PHP实现的ID混淆算法类与用法,结合实例形式分析了php针对数字基于位运算、位移等操作的加密解密相关实现技巧,需要的朋友可以参考下。

本文实例讲述了PHP实现的ID混淆算法类与用法,分享给大家供大家参考,具体如下:

  1. <?php 
  2. /** 
  3.  * ID混淆算法 
  4.  */ 
  5. class IdCrypt 
  6.   /** 
  7.    * 对整数id进行可逆混淆 
  8.    */ 
  9.   public static function encodeId($id
  10.   { 
  11.     $sid = ($id & 0xff000000); 
  12.     $sid += ($id & 0x0000ff00) << 8; 
  13.     $sid += ($id & 0x00ff0000) >> 8; 
  14.     $sid += ($id & 0x0000000f) << 4; 
  15.     $sid += ($id & 0x000000f0) >> 4; 
  16.     $sid ^= 11184810; 
  17.     return $sid
  18.   } 
  19.   /** 
  20.    * 对通过encodeId混淆的id进行还原 
  21.    */ 
  22.   public static function decodeId($sid
  23.   { 
  24.     if (!is_numeric($sid)) { 
  25.       return false; 
  26.     } 
  27.     $sid ^= 11184810; 
  28.     $id = ($sid & 0xff000000); 
  29.     $id += ($sid & 0x00ff0000) >> 8; 
  30.     $id += ($sid & 0x0000ff00) << 8; 
  31.     $id += ($sid & 0x000000f0) >> 4; 
  32.     $id += ($sid & 0x0000000f) << 4; 
  33.     return $id
  34.   } 
  35. $idstr = new IdCrypt(); 
  36. echo $encodeid = $idstr->encodeId('12345678'); 
  37. echo "<br/>"
  38. echo $decodeid = $idstr->decodeId($encodeid); 
  39. ?> 

运行结果:

13309518

12345678

Tags: ID混淆算法

分享到: