关于随机时间产生算法

2022 年 8 月 13 日
 596164296

目前在做一个招标网站,每个标的都是有开始时间与结束时间,只要用户在这个时间段下单即可。 领导要求每个标的的结束时间需要随机提前几百毫秒结束,这个随机过程可以通过标的基础信息推算出来,并且要一般人反推不出来。 我能想到的基础信息包括:标的编号、开始时间、结束时间、标的物金额、标的物数量(一个标的对应多个标的物,多个标的物是一样的)。 小弟才疏学浅,想请教各位大神,如果是您您会怎么做这个随机算法。

2080 次点击
所在节点    程序员
11 条回复
7zlid
2022 年 8 月 13 日
把你说的那几个变量加盐取 hash
前三位转十进制除以 4
xiangyuecn
2022 年 8 月 13 日
花里胡哨,直接加一个字段,多存一个结束随机时间🐶 真随机 一点都不作假🐶🐶🐶
learningman
2022 年 8 月 13 日
直接生成随机数不行吗
kongkx
2022 年 8 月 13 日
hash + 取模? 这个随机数有这么讲究吗?
Jooooooooo
2022 年 8 月 13 日
直接用你计算时的当前的毫秒时间就行, 这个足够随机.
wyx119911
2022 年 8 月 13 日
直接用“标的编号”做下 hash ,再取模到 100 - 900 的范围
superrichman
2022 年 8 月 13 日
这简单,提前 1 秒结束就行。因为还有网络延迟,把延迟考虑进来,到你的服务器上就是随机的几百毫秒了 /doge
Slurp
2022 年 8 月 13 日
hash + 取模。比如 id * 114514 + (end * 5147 - start * 305) + price * 191981 + count * 47297 再 + 100 再 % 721 。跑了点随机数据出来 max 820 min 100 avg 460. 并且数据少的话,波动很大。
qwertyegg
2022 年 8 月 14 日
任意的 trapdoor 函数都没法反推

稍微改一下就实现你功能了
kevin1
2022 年 8 月 14 日
> 这个随机过程可以通过标的基础信息推算出来

能推算出来的就不叫随机了。
多取几个字短按照某种规则计算几次就行了吧,反推的难度应该会很高。
whyhowwhat
2022 年 8 月 14 日
找个单向加密算法,随机只是伪需求

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

https://study.congcong.us/t/872667

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

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

© 2021 V2EX