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

【字号: 日期:2022-10-19浏览:16作者:雯心

问题描述

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

http://weibo.com/u/1857759250

这种形式的数字id。

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

谢谢

问题解答

回答1:

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

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

回答2:

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

相关文章: