首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库中的唯一in

数据库中的唯一in
EN

Stack Overflow用户
提问于 2011-08-01 04:41:08
回答 2查看 335关注 0票数 1

我经常看到urls中的站点I是这样的:http://battlelog.battlefield.com/bf3/forum/view/2811510711334022807/,它们是如何实现的呢?这不是常规的自动增量字段。所有的ids似乎都是随机的,但宽度是固定的。有什么福利待遇?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-01 04:44:36

一种方法是将真实的id (即auto_increment)隐藏在一个看起来像是随机的大数字中。例如:

  • 第一个数字表示

Id开始的位置,第二个数字表示由前两个数字确定的实际id所在的长度

  • 是随机数,直到预定义的长度

其他选项包括:

  • UUID -您的示例似乎没有使用id,但它是通用唯一标识符,有时是used.
  • snowflake -twitter的新id生成方法(或类似方法)

注意,这里有两个重要的方面:

  • 不会让用户轻易猜测is -这是由我的示例处理的。但是,如果有受保护的资源,除了不可猜测的ID之外,还要始终通过安全检查来保护它们
  • 提供群集范围内唯一的ID-UUID、snowflake等,以保证ID在计算机群集中是唯一的。
票数 3
EN

Stack Overflow用户

发布于 2011-08-01 04:46:27

像这样的GUID/UUID使得猜测什么是有效的ID号和不是有效的ID号变得更加困难。除非您有10^18个用户,否则与无效ID相比,有效ID将非常稀少。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6892170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档