Wednesday, November 30, 2011

How to encrypt and decrypt password in asp.net using C#?



Hi
Storing password in database as encrypted form is the good practice to store password. We can do this task using so many algorithms. But here I m going to show you one of the easiest method to encrypt and decrypt process using “Base64”.
Step1: Create one class i.e “EncryptionTest” and write the “Encryption” and “Decryption” method like this.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class EncryptionTest
{
public static string base64Encode(string sData)
{
try
{
byte[] encData_byte = new byte[sData.Length];
encData_byte = System.Text.Encoding.UTF8.GetBytes(sData);
string encodedData = Convert.ToBase64String(encData_byte);
return encodedData;
}
catch (Exception ex)
{
throw new Exception("Error in base64Encode" + ex.Message);
}
}
public static string base64Decode(string sData)
{
try
{
System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
System.Text.Decoder utf8Decode = encoder.GetDecoder();
byte[] todecode_byte = Convert.FromBase64String(sData);
int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
char[] decoded_char = new char[charCount];
utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
string result = new String(decoded_char);
return result;
}
catch (Exception ex)
{
throw new Exception("Error in base64Decode" + ex.Message);
}
}
}
Step2: Call that method in code behind file like this.
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
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string val = TextBox1.Text;
string pass = EncryptionTest.base64Encode(val);
Label1.Text = pass;
//you can pass this value to database for storing
}
protected void BtnDecript_Click(object sender, EventArgs e)
{
//from database you can decrypt the value like this
string str = EncryptionTest.base64Decode(Label1.Text);
Label2.Text = str;
}
}

No comments: