如何从整数中获取唯一的短字符串?

agi*_*liq 2 database string

说,我有一个整数PK的客户.在我的网络应用中,我希望为他们提供个人资料页面.我不想要像/ profile/10375 /这样的网址(例如,我不希望别人知道我有多少客户).我也不想要像/ profile/acme_corp /这样的slug基本网址.

将唯一整数转换为唯一随机短字符串的好方法是什么?(例如,早期的Reddit曾经有过这种类型的url,但它是从十进制到基数36的转换,跳过一些id).但这对我来说也没用,因为很容易用这个方案猜测数据库中的实体数量.

我不能使用UUID等,因为它们会使网址过大.

Wil*_*son 6

如果主要关注的是一个客户可以查看另一个客户的页面,我将不依赖于您提出的方法.最终它是"通过晦涩安全".相反,我会将页面显示与客户的身份验证凭据联系起来(假设您需要用户登录).如果客户尝试访问自己以外的配置文件页面,则会重定向到登录页面或给出访问授权错误消息.

实际上,您甚至不需要在URL中拥有customerID.只需使用/ profile /