generate one-time password (OTP)

Program to generate one-time password (OTP)

One-time Passwords (OTP) is a password that is valid for only one login session or transaction in a computer or a digital device. Now a days OTP’s are used in almost every service like Internet Banking, online transactions etc. They are generally combination of 4 or 6 numeric digits or a 6-digit alphanumeric.

random() function can be used to generate random OTP which is predefined in random library. Let’s see how to generate OTP using Python.

Used Function:

random.random(): This function returns any random number between 0 to 1. math.floor(): It returns floor of any floating number to a integer value.

Using the above function pick random index of string array which contains all the possible candidates of a particular digit of the OTP.

Example #1 : Generate 4 digit Numeric OTP

# import library 
import math, random 

# function to generate OTP 
def generateOTP() : 

	# Declare a digits variable 
	# which stores all digits 
	digits = "0123456789"
	OTP = "" 

# length of password can be chaged 
# by changing value in range 
	for i in range(4) : 
		OTP += digits[math.floor(random.random() * 10)] 

	return OTP 

# Driver code 
if __name__ == "__main__" : 
	
	print("OTP of 4 digits:", generateOTP()) 

Output:

Example #2: Generate alphanumeric OTP of length 6

Output:

Example #3: Using String constants

Output:

Reference : https://www.geeksforgeeks.org/python-program-to-generate-one-time-password-otp/?ref=rp

Last updated

Was this helpful?