>  Q&A  >  본문

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

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

http://weibo.com/u/1857759250

这种形式的数字id。

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

谢谢

迷茫迷茫2712일 전756

모든 응답(2)나는 대답할 것이다

  • 阿神

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

    비교적 간단한 방법은 큰 숫자를 찾아 xor하는 것입니다. 알고리즘이 간단하고 자릿수를 제어하기 쉽습니다

    규칙성을 제거하기 위해 약간의 변형을 가할 수 있습니다. 예를 들어 16개의 큰 숫자를 찾으려면 원래 숫자의 마지막 4자리를 가져와 해당 큰 숫자를 찾은 다음 마지막 4자리는 변경되지 않고 그대로 유지됩니다. 숫자는 1위, 3위, 6위, 15위 등의 위치에도 규칙이 있습니다

    회신하다
    0
  • 怪我咯

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

    id+고정값, md5는 안되는거 아닌가요?

    회신하다
    0
  • 취소회신하다