Change language

Python | One-time password (OTP) generation software

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 

Shop

Gifts for programmers

Best laptop for Excel

$
Gifts for programmers

Best laptop for Solidworks

$399+
Gifts for programmers

Best laptop for Roblox

$399+
Gifts for programmers

Best laptop for development

$499+
Gifts for programmers

Best laptop for Cricut Maker

$299+
Gifts for programmers

Best laptop for hacking

$890
Gifts for programmers

Best laptop for Machine Learning

$699+
Gifts for programmers

Raspberry Pi robot kit

$150

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

1947 answers

PythonStackOverflow

Check if one list is a subset of another in Python

1173 answers

PythonStackOverflow

How to specify multiple return types using type-hints

1002 answers

PythonStackOverflow

Printing words vertically in Python

909 answers

PythonStackOverflow

Python Extract words from a given string

798 answers

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

606 answers

PythonStackOverflow

Python os.path.join () method

384 answers

PythonStackOverflow

Flake8: Ignore specific warning for entire file

360 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically