Home > DeveloperSection > Articles > Encryption and Decryption in ASP.NET

Encryption and Decryption in ASP.NET


.NET C#  ASP.Net  Security in .Net  Encryption 
Ratings:
0 Comment(s)
 1487  View(s)
Rate this:

Encryption and Decryption in ASP.NET

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:

 


Don't want to miss updates? Please click the below button!

Follow MindStick