In
this article I am going to explain how to generate unique OTP (one time
password) in asp.net
Description:
In
the previous article I have explained How to find (get) the Last day ofPrevious, Current and Next month in Sql server and Simple steps to display datapoint labels outside a pie Chart in asp.net.
OTP
stand for one time password. It is a password that is valid for only one login
session or transaction. It is widely used by the banks for transactions. It can
be numeric as well as alphanumerical.
Implementation:
Method
(code) to generate the numeric OTP:
Add
a webform to project. Drag and drop the required control from toolbox to
webform. Below given html markup consist of button and label control.
HTML
markup:
<fieldset style="width:420px">
<legend><strong>OTP
Example</strong></legend>
<table>
<tr><td>Click to
Generate OTP :</td><td>
<asp:Button ID="Button1" runat="server" Text="Generate OTP"/></td></tr>
<tr><td></td><td></td></tr>
<tr id="idotp" runat="server" visible="false"><td><strong>OTP</strong> :</td><td>
<asp:Label ID="lblotp" runat="server"></asp:Label></td></tr>
</table>
</fieldset>
Generate numeric OTP
On
button click write the below given to generate OTP:
C#
code:
protected void Button1_Click(object
sender, EventArgs e)
{
GenerateOTP();
}
private void GenerateOTP()
{
try
{
int
length = 6;
string
numbers = "0123456789";
Random
objrandom = new Random();
string
strrandom = string.Empty;
int
noofnumbers = length;
for
(int i = 0; i < noofnumbers; i++)
{
int
temp = objrandom.Next(0, numbers.Length);
strrandom += temp;
}
lblotp.Text = strrandom;
idotp.Visible = true;
}
catch (Exception ex)
{
}
}
VB.net
Code:
Protected Sub Button1_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles
Button1.Click
GenerateOTP()
End Sub
Private Sub GenerateOTP()
Try
Dim
length As Integer
= 6
Dim
numbers As String
= "0123456789"
Dim
objrandom As New
Random()
Dim
strrandom As String
= String.Empty
Dim
noofnumbers As Integer
= length
For
i As Integer =
0 To noofnumbers - 1
Dim
temp As Integer
= objrandom.[Next](0, numbers.Length)
strrandom += temp
Next
lblotp.Text = strrandom
idotp.Visible = True
Catch
ex As Exception
End Try
End Sub
Method
(code) to generate Alphanumeric OTP:
HTML
Markup:
<fieldset style="width:420px">
<legend><strong>OTP
Example</strong></legend>
<table>
<tr><td>Click to
Generate OTP :</td><td>
<asp:Button ID="Button1" runat="server" Text="Generate OTP"/></td></tr>
<tr><td></td><td></td></tr>
<tr id="idotp" runat="server" visible="false"><td><strong>OTP</strong> :</td><td>
<asp:Label ID="lblotp" runat="server"></asp:Label></td></tr>
</table>
</fieldset>
Generate
alphanumeric OTP:
Write
the below given code on button click event to generate the alphanumeric OTP.
C# Code:
protected void Button1_Click(object
sender, EventArgs e)
{
GenerateOTP(10);
}
private void GenerateOTP(int
length)
{
try
{
string
numbers = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Random
objrandom = new Random();
string
strrandom = string.Empty;
string
passwordString = "";
string
opt = "";
int
noofnumbers = length;
for
(int i = 0; i < noofnumbers; i++)
{
int
temp = objrandom.Next(0, numbers.Length);
passwordString =
numbers.ToCharArray()[temp].ToString();
strrandom += passwordString;
}
while
(opt.IndexOf(passwordString) != -1) ;
lblotp.Text = strrandom;
idotp.Visible = true;
}
catch (Exception ex)
{
}
}
VB.net
Code:
Protected Sub Button1_Click(ByVal
sender As Object,
ByVal e As
System.EventArgs) Handles
Button1.Click
GenerateOTP(10)
End Sub
Private Sub GenerateOTP(ByVal
length As Integer)
Try
Dim
numbers As String
= "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
Dim
objrandom As New
Random()
Dim
strrandom As String
= String.Empty
Dim
passwordString As String
= ""
Dim
opt As String =
""
Dim
noofnumbers As Integer
= length
For
i As Integer =
0 To noofnumbers - 1
Dim
temp As Integer
= objrandom.[Next](0, numbers.Length)
passwordString = numbers.ToCharArray()(temp).ToString()
strrandom += passwordString
Next
While
opt.IndexOf(passwordString) <> -1
End
While
lblotp.Text = strrandom
idotp.Visible = True
Catch
ex As Exception
End Try
End Sub
Build
the application and run. To test the working click on generate OTP button.
DEMO:
In this article we have learn how to generate unique OTP in asp.net using C# and vb.net . I hope you enjoyed this article.
Thanku ...
ReplyDeleteMy pleasure. Keep visiting for more #asp.net tutorial
ReplyDelete