如何在python中应用OTP

问题描述

我对编程和尝试创建一个程序相当陌生,在该程序中,用户通过使用随机获取 OTP,并仅在文件匹配时才申请登录获取文件的访问权限,否则权限被拒绝。不确定我在这里做错了什么,因为它在我运行时进入无限循环。下面是我的代码

def rand_pass(size):
  

generate_pass=''.join([random.choice(string.ascii_uppercase+string.ascii_lowercase+string.digits)for n in range(size)])    
  return generate_pass 

OTP = rand_pass(10)
print('password:'+OTP)

Password = input('enter your OTP here:')

OTP = input('enter your OTP here:')
new_otp = "OTP"


OTP = new_otp
while OTP != "new_otp":
  print('Welcome')

  if OTP == "new_otp":
   print('welcome')
   break
  else:
    print('ACCESS DENIED.')
    continue

提前致谢。

解决方法

因此,根据您的要求,您可以按照以下代码进行操作。您只需要不断检查,直到用户输入正确的 otp。如果用户输入错误的 otp 显示 ACCESS DENIED 并再次要求输入 otp

import random
import string

def rand_pass(size):
    generate_pass=''.join([random.choice(string.ascii_uppercase+string.ascii_lowercase+string.digits)for n in range(size)])    
    return generate_pass 

generated_otp = rand_pass(10)
print('new OTP :'+generated_otp)

while True:
    OTP = input('enter your OTP here:')
    if OTP == generated_otp:
        print('Correct OTP')
        break
    else:
        print('ACCESS DENIED.')
        continue

@GhostwhiteActualCompilers 请告诉我这是否有用。