簡體   English   中英

如何使用Django生成基於時間的一次性密碼(OTP)

[英]How to generate Time based One Time Password(OTP) with Django

我正在使用以下代碼將隨機字符串生成為OTP-

from django.utils.crypto import get_random_string

otp = get_random_string(6, allowed_chars='0123456789')

出現此問題的原因是由於人們要求大量OTP的SMS傳遞問題,然后當他們在一起時,他們不知道當前哪個是有效的。

我想生成一個OTP,它不會在30分鍾內發生變化,並且對於每個電話號碼都是唯一的,就像+919999999999一樣。

如果要確定性,只需將當前時間戳除以30分鍾即可得到整數,然后將其與電話號碼和秘密鹽連接起來,然后將它們全部哈希。

或者,您可以生成一個隨機數,並將其存儲在Django緩存中,有效期為30分鍾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM