Encrypt or Decrypt user password in c#
encryptdecrypt.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
<form id="form1" runat="server">
<div>
<table align="center">
<tr>
<td colspan="2">
<b>Encryption and
Decryption of Password</b>
</td>
</tr>
<tr>
<td>
UserName
</td>
<td>
<asp:TextBox ID="txtname"
runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Password
</td>
<td>
<asp:TextBox ID="txtPassword"
runat="server"
TextMode="Password"></asp:TextBox>
</td>
</tr>
<tr>
<td>
FirstName
</td>
<td>
<asp:TextBox ID="txtfname"
runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
LastName
</td>
<td>
<asp:TextBox ID="txtlname"
runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="btnSubmit"
runat="server"
Text="Submit"
onclick="btnSubmit_Click" />
</td>
</tr>
</table>
</div>
<div>
<table align="center">
<tr>
<td>
<b>Encryption of
Password Details</b>
</td>
</tr>
<tr>
<td>
<asp:GridView ID="gvUsers"
runat="server"
CellPadding="4"
BackColor="White"
BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px">
<RowStyle BackColor="White" ForeColor="#330099" />
<FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
<PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC"
HorizontalAlign="Left"/>
</asp:GridView>
</td>
</tr>
</table>
</div>
<div>
<table align="center">
<tr>
<td>
<b>Decryption of
Password Details</b>
</td>
</tr>
<tr>
<td>
<asp:GridView ID="gvdecryption"
runat="server"
BackColor="White"
BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4"
onrowdatabound="gvdecryption_RowDataBound">
<RowStyle BackColor="White" ForeColor="#330099" />
<FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
<PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Data.SqlClient;
using
System.Data;
using
System.Text;
public partial class Default2 : System.Web.UI.Page
{
private const string
strconneciton = "Data
Source=COM3\\SQLEXPRESS;Initial Catalog=dotnettasks;Integrated
Security=True";
SqlConnection
con = new SqlConnection(strconneciton);
protected void Page_Load(object
sender, EventArgs e)
{
if
(!IsPostBack)
{
BindencryptedData();
BindDecryptedData();
}
}
/// <summary>
/// btnSubmit event is used to insert user details with
password encryption
/// </summary>
/// <param
name="sender"></param>
/// <param
name="e"></param>
protected void btnSubmit_Click(object
sender, EventArgs e)
{
string
strpassword = Encryptdata(txtPassword.Text);
con.Open();
SqlCommand
cmd = new SqlCommand("insert into
SampleUserdetails(UserName,Password,FirstName,LastName) values('" +
txtname.Text + "','" + strpassword
+ "','" + txtfname.Text + "','" + txtlname.Text + "')", con);
cmd.ExecuteNonQuery();
con.Close();
BindencryptedData();
BindDecryptedData();
}
/// <summary>
/// Bind user Details to gridview
/// </summary>
protected void BindencryptedData()
{
con.Open();
SqlCommand
cmd = new SqlCommand("select * from SampleUserdetails", con);
SqlDataAdapter
da = new SqlDataAdapter(cmd);
DataSet
ds = new DataSet();
da.Fill(ds);
gvUsers.DataSource = ds;
gvUsers.DataBind();
con.Close();
}
/// <summary>
/// Bind user Details to gridview
/// </summary>
protected void BindDecryptedData()
{
con.Open();
SqlCommand
cmd = new SqlCommand("select * from SampleUserdetails", con);
SqlDataAdapter
da = new SqlDataAdapter(cmd);
DataSet
ds = new DataSet();
da.Fill(ds);
gvdecryption.DataSource = ds;
gvdecryption.DataBind();
con.Close();
}
/// <summary>
/// Function is used to encrypt the password
/// </summary>
/// <param
name="password"></param>
/// <returns></returns>
private string Encryptdata(string
password)
{
string
strmsg = string.Empty;
byte[]
encode = new byte[password.Length];
encode = Encoding.UTF8.GetBytes(password);
//strmsg =
Convert.ToInt64(encode);
strmsg = Convert.ToBase64String(encode);
return
strmsg;
}
/// <summary>
/// Function is used to Decrypt the password
/// </summary>
/// <param
name="password"></param>
/// <returns></returns>
private string Decryptdata(string
encryptpwd)
{
string
decryptpwd = string.Empty;
UTF8Encoding
encodepwd = new UTF8Encoding();
Decoder
Decode = encodepwd.GetDecoder();
byte[]
todecode_byte = Convert.FromBase64String(encryptpwd);
int
charCount = Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[]
decoded_char = new char[charCount];
Decode.GetChars(todecode_byte, 0,
todecode_byte.Length, decoded_char, 0);
decryptpwd = new
String(decoded_char);
return
decryptpwd;
}
/// <summary>
/// rowdatabound condition is used to change the encrypted
password format to decryption format
/// </summary>
/// <param
name="sender"></param>
/// <param
name="e"></param>
protected void gvdecryption_RowDataBound(object sender, GridViewRowEventArgs
e)
{
if
(e.Row.RowType == DataControlRowType.DataRow)
{
string
decryptpassword = e.Row.Cells[2].Text;
e.Row.Cells[2].Text =
Decryptdata(decryptpassword);
}
}
}
Download SourceCode:encryptdecryptcode