搜尋

首頁  >  問答  >  主體

資料庫 - 求比較方便的基於自增id映射出一串唯一數字id的演算法

rails默認用自增id作為pk,並且url上通過id找到相應的資源,不過我想像微博那樣通過一串長數字去定位資源
如:

http://weibo.com/u/1857759250

這種形式的數字id。

該數字串最好能夠有跟自增id的一定的對應關係,比如說是自增id經過一定的算法生成。
該數字串必須是唯一的,最好是不連續的,最好在10位以內。

謝謝

迷茫迷茫2858 天前859

全部回覆(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
  • 取消回覆