如何根据经纬度信息生成一个四位数的验证码?

刘榆

我的应用程序需要此功能:

  1. 用户A可以上传他的位置信息,并获取在服务器上生成的添加代码。
  2. 用户B可以输入添加代码,还必须上传他的位置信息。只有当userA和userB足够近并且匹配ADD CODE时,他们才能最终成为朋友。
  3. 在计算距离并比较添加代码之前,我将检查其城市编号(每个城市唯一)是否相同。换句话说,我必须确保在每个城市中,“添加代码”都不会同时(或几分钟)与另一个城市发生冲突。

    当然,一个4位数的数字并不能满足所有可能,但是有没有办法生成这个4位数的数字来尽可能满足此功能?

伊恩·默瑟(Ian Mercer)

假设此序列在有限的时间内发生(并且添加代码并非一直有效):

您的4位数字不必是全局唯一的,而只需要在此时间段内是唯一的即可。因此,根据这一观察结果,维护一张添加代码表,它们何时发布以及在什么位置。随机生成它们,以确保它们不在表中。定期删除所有已过期的添加代码。

只要您同时尝试连接的用户数量不超过10,000,就可以使用。

如果您需要的更多,请考虑允许在表中重复,但使用经/纬度来确保相同的“添加”代码永远不会分配给配对允许的最大距离的2倍以内的任何点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python使用random创建一个四位数长的随机图钉

我想得到一个 1-7 之间的四位数

找出一个四位数的数字,其平方是8位数字,最后4位数字是原始数字

如何找到最小的四位数,数字不重复,而是累加成一个随机数

如何将前四位数字添加到另一个列表中

如果一个四位数的回文数abba/bb等于一个整数,那么abba有多少个?

是否可以创建一个DateFormatter来将两位数字的年份转换为四位数的年份?

四位数值中的第一个chmod八进制数字是什么?

Angular Reactive Forms验证日期年份四位数

查找超过四位数的字词

ruby 四位数字,如何判断它们是否是两个相同的数字

如何在React中每四位数后设置自动空间

如何仅解析四位数的年份(使用Joda Time)?

如何使用正则表达式保留四位数的小数?

如何从熊猫数据框中的列值中删除连续的四位数

如何在Excel中每四位数为1000的末尾添加逗号?

我怎样才能从四位数获得一位数

使用Golang生成6位数的验证码?

输入 0 - 9 的四位数字并生成四 (4) 位数字的新组合,

搜索表,其中一个帐号与两个不同的CIN链接,并且两个CIN的最后四位数字应该相同

用四位数替代两位数的年份日期

将两位数的年份转换为四位数

如何解决Groovy中的“找不到四位数的十六进制字符”?

C-比较两个四位数数字数组的函数

转换R fread中的字符日期以显示四位数的年份格式

找不到四位数的年份数据丢失

JPEG中的四位数序列是什么意思?

使用Stringr提取连字符后的前四位数

Powershell 以四位数字递增