首頁  >  問答  >  主體

数据库 - 求比较方便的基于自增id映射出一串唯一数字id的算法

rails默认用自增id作为pk,并且url上通过id找到相应的资源,不过我想像微博那样通过一串长数字去定位资源
如:

http://weibo.com/u/1857759250

这种形式的数字id。

该数字串最好能够有跟自增id的一定的对应关系,比如说是自增id经过一定的算法生成。
该数字串必须是唯一的,最好是不连续的,最好在10位以内。

谢谢

迷茫迷茫2761 天前803

全部回覆(2)我來回復

  • 阿神

    阿神2017-04-22 09:01:53

    一個比較簡單的做法是隨便找個大數xor一下,演算法簡單,位數很容易控制

    可以稍作變形來去除規律性,例如找16個大數,原來的數字取末4位找到對應的大數,然後末4位不變,其他位和那個大數xor,嫌末4位也有規律可以第1,3,6,15位元之類的

    回覆
    0
  • 怪我咯

    怪我咯2017-04-22 09:01:53

    id + 固定值,md5一下,不可以麼?

    回覆
    0
  • 取消回覆