推广验证码是如何生成的,如何避免重复?

发布于 2022-08-30 16:10:50 字数 235 浏览 22 评论 0

背景
在一些app或者会员推广的活动中,我们(被推荐者)总会被要求输入推荐者的一个验证码,很显然,这个验证码是和这个推荐者绑定着的。
问题
如果验证码的长度固定的话,比如6位;再加上字符串的来源也固定,比如“0-9”+“A-Z”,那么这个验证码的个数必然是有限的,通过什么方式才能避免生成的验证码不会重复?
-----虽然貌似有14亿个数(我没算错吧?)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

风轻花落早 2022-09-06 16:10:50

推广验证码是如何生成的

  1. username或者userid(或者其他任何每个用户唯一的属性)的hash,这样可以和用户一一对应,即绑定
  2. 随机生成,然后插入数据库与用户名绑定

如何避免重复

  1. hash方式只要username/userid是每个用户唯一的,hash就几乎不可能重复
  2. 随机生成的方式也很简单,生成之后查一下数据库,如果存在,重新生成,循环直到不重复
疯到世界奔溃 2022-09-06 16:10:50

生成一个,扫描下数据库,存在的话,递归一下!

风柔一江水 2022-09-06 16:10:50

递归检查数据库是否重复在用户量达到一定程度时效率较低(重复可能性高)
考虑采用一个固定偏移值+userid来做(纯数字)

¢蛋碎的人ぎ生 2022-09-06 16:10:50

验证码一般都是在规定的时间段内才是有效的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文