CLOSE

   Python  
   Technology    Programming

Random 6 Digit OTP String Generator In Python

           
 AUGUST 2, 2019   by hafeezulkareem

In this tutorial, we are going to learn how we can generate a random string for different purposes. For example, if we want to send an OTP, we have to provide a different string every time an OTP has to be sent. Or may be for custom Captcha purpose you need to generate random string values.

In Python, we have a module called random, which helps us to generate random data. In this module there is a method called random.random() which generates a number between 0 and 1 including 0 [0, 1). Let's first see the usage of the random() method.




Random Method

Below is a simple code example where we have used the random() method,

## importing the random module
import random

## prints a float between 0 and 1
print(random.random())

Output:

0.8830251409275321

We can use the ceil method of math module to get an integer from the randomly generated floating value. It helps to pass it as an index to a list or string to make a random string.




Random Data Generation (set of 6 digits)

We will have numbers from 0 to 9 stored in a list. Then we will generate a random number using the random() method and will add(concatenate) the corresponding indexed digit to a string. below we have the code for the same:

## importing modules
import random
import math

## storing strings in a list
digits = [i for i in range(0, 10)]

## initializing a string
random_str = ""

## we can generate any lenght of string we want
for i in range(6):
## generating a random index
## if we multiply with 10 it will generate a number between 0 and 10 not including 10
## multiply the random.random() with length of your base list or str
index = math.floor(random.random() * 10)

random_str += str(digits[index])

## displaying the random string
print(random_str)

Output:

Random string 809041

We can also generate different type of strings using the above procedure. If we want to generate a string which contains both digits and alphabets then, we can add all of those to a list and creates a random string of the desired length. Try it of your own. If you have any doubts, mention them in the comment section.


SHARE YOUR THOUGHTS WITH US!