The random () function can be used to generate a random OTP that is predefined in the random library. Let’s see how to generate OTPs 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: Generating a 4-digit numeric OTP
# library import import math, random # function for generating OTP def generateOTP (): < / code> # Declare a digit variable # which stores all digits digits = "0123456789" OTP = " " # password length can be modified # by changing the value in the 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:
OTP of 4 digits: 3211
Example # 2: Generating an alphanumeric OTP length 6
# library import import math, random # function to generate OTP def generateOTP (): # Declare string variable # which stores the entire line string = ’0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’ OTP = "" length = len (string) for i in range ( 6 ): OTP + = string [math.floor (random.random () * length)] return OTP # Driver code if __ name__ = = "__ main__" : print ( "OTP of length 6:" , generateOTP ()) |
Exit :
OTP of length 6: pyelJl
Example # 3: Using string constants
# Import random to generate # random sequence of lines import random # Import string library function import string def rand_pass (size): # Takes a random selection from # ascii_letters and digits generate_pass = ’’ .join ([random.choice (string. ascii_uppercase + string.ascii_lowercase + string.digits) for n in range (size)]) return generate_pass Driver code password = rand_pass ( 10 ) print (password) |
Exit :
2R8 gaoDKqn