Heim  >  Fragen und Antworten  >  Hauptteil

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

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

http://weibo.com/u/1857759250

这种形式的数字id。

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

谢谢

迷茫迷茫2761 Tage vor801

Antworte allen(2)Ich werde antworten

  • 阿神

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

    一个比较简单的做法是随便找个大数xor一下,算法简单,位数很容易控制

    可以稍作变形来去除规律性,比如找16个大数,原来的数字取末4位找到对应的大数,然后末4位不变,其他位和那个大数xor,嫌末4位也有规律可以第1,3,6,15位之类的

    Antwort
    0
  • 怪我咯

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

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

    Antwort
    0
  • StornierenAntwort