· 5 years ago · Aug 07, 2020, 07:54 PM
1import hashlib as crypto
2from datetime import datetime, timedelta
3
4_secretKey = "SECRET_KEY"
5def generateOTP(email):
6 otp = "123456"
7 expiry = datetime.timestamp(datetime.now()+timedelta(seconds=60))
8 payload = email + otp + _secretKey + str(expiry)
9 print(expiry)
10 res = crypto.sha256(payload.encode())
11 print(res.hexdigest()+"^"+str(expiry))
12
13
14def verifyOTP(otp, email, hashStr):
15 hash, expiry = str.split(hashStr, "^")
16 if(datetime.now() < datetime.fromtimestamp(float(expiry))):
17 payload = email + otp + _secretKey+(str(expiry))
18 res = crypto.sha256(payload.encode())
19 if(hash == res.hexdigest()):
20 print("Verified")
21 else:
22 print("Wrong Otp")
23 else:
24 print("expired")
25
26#generateOTP("test@test.com")
27verifyOTP("123456", "test@test.com",
28 "b50ec5d4d5e8a00971b1e16419fe1d8684fd15002996d2ad3199b005fdbf9b55^1596829438.409135")
29