请教一下:如何生成可以防穷举的数字编号

2019-03-02 11:05:23 +08:00
 jss
需要为每个用户生成唯一 6~12 为不等的数字编号,切防穷举。
6033 次点击
所在节点    PHP
27 条回复
hu5ky
2019-03-02 11:08:39 +08:00
加密
lhx2008
2019-03-02 11:08:48 +08:00
前面递增,后面加一个 4-8 位随机值就 ok
rochek
2019-03-02 11:09:02 +08:00
防穷举?
那么为何一定要用数字
英文字符,标点都加上去
phy25
2019-03-02 11:11:41 +08:00
phy25
2019-03-02 11:13:15 +08:00
好吧,没有仔细看要求……不过上面的库的介绍提到了 If you need your ids to consist of only numbers, check out Optimus. It's based on Knuth's integer hash method and produces obfuscated integer ids (and does it faster too). There are PHP and Go implementations.
loading
2019-03-02 11:23:23 +08:00
不如用大质数?哈哈
参考 fail2ban 策略。
gleox
2019-03-02 11:25:40 +08:00
smallthing
2019-03-02 11:26:14 +08:00
不懂,还不是能穷举吗
xiaopc
2019-03-02 11:43:16 +08:00
是防遍历还是防被找出 ID 规律?
shiyidi
2019-03-02 11:56:51 +08:00
在固定位置加校验位
qiayue
2019-03-02 11:58:46 +08:00
12 位最大值千亿
依然可以穷举
asdqaz
2019-03-02 12:10:24 +08:00
你这不就是激活码吗
看看微软老人家的 25 位激活码
asdqaz
2019-03-02 12:10:36 +08:00
@asdqaz 原理类似激活码
asdqaz
2019-03-02 12:28:57 +08:00
哈希函数求值
取前 12 位
防破解加前缀后缀
xxgirl2
2019-03-02 12:48:59 +08:00
snowflake+1
MachineSpirit
2019-03-02 12:56:50 +08:00
倒不如限制访问了,他们穷举肯定要一个一个试的。
misaka19000
2019-03-02 13:01:20 +08:00
纯数字的话,你这个可选数字太少了,穷举起来很简单
lihongjie0209
2019-03-02 13:01:41 +08:00
只要是数字,就可以穷举
binsys
2019-03-02 13:04:08 +08:00
hashid
niknik
2019-03-02 14:09:12 +08:00
uuid

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/540259

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX