Users Pricing

articles

home / developersection / articles / encryption and decryption in asp.net
Encryption and Decryption in ASP.NET

Encryption and Decryption in ASP.NET

priyanka kushwaha 6892 27 Feb 2015 Updated 20 Nov 2020


In this article, I’m explaining about Encryption and Decryption in .NET 

Encryption: is the activity of converting data or information into code or a secret key.

Decryption: is the activity of making clear to converting from code into plain text.

Example:

Create a Class.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Security.Cryptography;

using System.IO;

using System.Text;

 

/// <summary>

/// Summary description for Class1

/// </summary>

public class Class1

{

    string Encryptionkey = "123";

    public string Encrypt(string originalText)

    {

      

        byte[] originalbytes = Encoding.Unicode.GetBytes(originalText);

        using (Aes encryptor = Aes.Create())

        {

            Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(Encryptionkey, new Byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64,  0x76 });

            encryptor.Key = pdb.GetBytes(32);

            encryptor.IV = pdb.GetBytes(16);

            using (MemoryStream ms = new MemoryStream())

            {

                using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write))

                {

                    cs.Write(originalbytes, 0, originalbytes.Length);

                    cs.Close();

                }

                originalText = Convert.ToBase64String(ms.ToArray());

            }

        }

        return originalText;

 

    }

 

 public string Decrypt(string cipherText)

    {

      

            Byte[] cipherBytes = Convert.FromBase64String(cipherText);

            using (Aes encryptor = Aes.Create())

            {

              Rfc2898DeriveBytes pbd = new Rfc2898DeriveBytes(Encryptionkey, new Byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x76 });

                encryptor.Key = pbd.GetBytes(32);

                encryptor.IV = pbd.GetBytes(16);

                using (MemoryStream ms = new MemoryStream())

                {

                    using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateDecryptor(), CryptoStreamMode.Write))

                    {

                        cs.Write(cipherBytes, 0, cipherBytes.Length);

                        cs.Close();

                    }

                    cipherText = Encoding.Unicode.GetString(ms.ToArray());

                }

 

            }

      

        return cipherText;

}

            public Class1()

            {

                        //

                        // TODO: Add constructor logic here

                        //

            }

}

 

Create Default.aspx file

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 <!DOCTYPE html>

 <html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

 

</head>

<body>

 

    <form id="form1" runat="server">

        <table>

            <tr>

                <td>Password</td>

                <td colspan="2">

                    <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox></td>

            </tr>

            <tr>

                <td>Encryption text=</td>

                <td>

                    <asp:Label ID="lblEnc" runat="server" Text=""></asp:Label></td>

                <td>

                    <asp:Button ID="btnEncrypt" runat="server" Text="Encrypt" OnClick="btnEncrypt_Click" /></td>

            </tr>

            <tr>

                <td>Decryption text=</td>

                <td>

                    <asp:Label ID="lblDec" runat="server" Text=""></asp:Label></td>

                <td>

                    <asp:Button ID="btnDecrypt" runat="server" Text="Decrypt" Enabled="False" OnClick="btnDecrypt_Click" /></td>

            </tr>

            <tr>

                <td></td>

            </tr>

        </table>

 

    </form>

 

</body>

</html>

 Write in Default.aspx.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page

{

 

    Class1 method = new Class1();

    protected void Page_Load(object sender, EventArgs e)

    {

 

    }

    protected void btnEncrypt_Click(object sender, EventArgs e)

    {

        lblEnc.Text =method.Encrypt(txtPassword.Text.Trim());

        btnDecrypt.Enabled = true;

    }

    protected void btnDecrypt_Click(object sender, EventArgs e)

    {

        lblDec.Text = method.Decrypt(lblEnc.Text.Trim());

    }

}

Output:

Encryption and Decryption in ASP.NET

Encryption and Decryption in ASP.NET