gpt4 book ai didi

python - 生成递增的 Nonce

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:20 25 4
gpt4 key购买 nike

到目前为止,当使用 API 进行身份验证时,我已经使用它来生成一个简单的 nonce:

def nonce():
return str(int(time.time()) * 1000)

It has now been pointed out to me ,这并不完全安全,因为 time.time() 可能会倒退:

>>> import time
>>> time.get_clock_info('time').monotonic
False

我该如何生成一个nonce?我的第一个猜测是使用 randint ,但由于我需要确保 nonce 始终增加,所以我不太确定如何确保这一点,而不保存 future nonce生成的变量 - 或者这是不可规避的?

最佳答案

time.time 仅当系统时钟在您下方更新时才会向后移动 - 由于 DST 不适用于自纪元以来的秒数,因此在保持时钟的系统上永远不会发生这种情况使用 ntp 进行更新。

*nix 特定的解决方案是在启动时添加检查,以确保 ntpd 在生成第一个随机数之前正在运行。一旦运行,ntpd 不会让时钟倒转(它只会让它前进的速度比每秒 1 秒慢一点),所以这对你来说可能是一个足够的保证。

这完全取决于您的情况以及对风险和安全权衡的偏好,但我建议这是一个学术问题,而不是实际问题。

关于python - 生成递增的 Nonce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41718753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com