Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1178227
  • 博文数量: 252
  • 博客积分: 5421
  • 博客等级: 大校
  • 技术积分: 2418
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-17 12:59
文章分类

全部博文(252)

文章存档

2017年(3)

2016年(18)

2015年(31)

2014年(18)

2013年(7)

2012年(8)

2011年(12)

2010年(30)

2009年(32)

2008年(57)

2007年(36)

分类: PHP

2014-08-05 15:01:35


  1. <?php
  2. /**
  3.  * ID混淆算法
  4.  */
  5. class IdCrypt
  6. {
  7.     /**
  8.      * 对整数id进行可逆混淆
  9.      */
  10.     public static function encodeId($id)
  11.     {
  12.         $sid = ($id & 0xff000000);
  13.         $sid += ($id & 0x0000ff00) << 8;
  14.         $sid += ($id & 0x00ff0000) >> 8;
  15.         $sid += ($id & 0x0000000f) << 4;
  16.         $sid += ($id & 0x000000f0) >> 4;
  17.         $sid ^= 11184810;
  18.         return $sid;
  19.     }

  20.     /**
  21.      * 对通过encodeId混淆的id进行还原
  22.      */
  23.     public static function decodeId($sid)
  24.     {
  25.         if (!is_numeric($sid)) {
  26.             return false;
  27.         }
  28.         $sid ^= 11184810;
  29.         $id = ($sid & 0xff000000);
  30.         $id += ($sid & 0x00ff0000) >> 8;
  31.         $id += ($sid & 0x0000ff00) << 8;
  32.         $id += ($sid & 0x000000f0) >> 4;
  33.         $id += ($sid & 0x0000000f) << 4;
  34.         return $id;
  35.     }
  36. }

阅读(2950) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~