每 x 小时生成一个代码,该代码在两台机器中始终相同


Generate a code every x hours that will always be the same in two machines?

>考虑到两台机器的时间设置不同步,是否仍然可以在每台机器中运行一个PHP脚本(例如),并且它们每x小时运行时仍然会生成相同的随机代码?

例如:

如果我在下午 1 点在服务器 A 中运行脚本,它将返回"random182"。如果我在下午 1 点在服务器 B 中运行脚本,它将返回"random182"。

如果我在下午 2 点在服务器 A 中运行脚本,它将返回"random747"。如果我在下午 2 点在服务器 B 中运行脚本,它将返回"random747"。

如果可能,我应该如何以及查看哪种功能?

机器需要一个公共初始化向量(IV)来表示它们的伪随机序列。

通常,这是系统时间(如果安全性不重要)。 所以:

  • 同步您的时间,例如 NTP(在应用程序或机器级别)
  • 或者在调用 IV 时将 IV
  • 传递给您的脚本,即被调用者正在说 IV 是什么

PHP 时间根据 php.ini 文件中的指定值返回。因此,首先计算差异,然后将其添加到"延迟"运行的时间,然后输出您喜欢的任何内容。