我使用以下代码生成随机字符串作为OTP -
from django.utils.crypto import get_random_string
otp = get_random_string(6, allowed_chars='0123456789')
问题在于人们要求许多OTP的短信发送问题,然后当他们一起到达时,他们不知道哪一个目前有效。
我想生成一个不会因 30分钟而改变的OTP,并且对于每个电话号码都是唯一的 +919999999999 。
答案 0 :(得分:3)
如果你想确定性,只需将整数除以当前时间戳30分钟,将其与电话号码和秘密盐连接起来,然后将它们全部哈希。
或者你可以生成一个随机的并将其存储在Django缓存中,有效期为30分钟。