Encrypting the password before string to the database, it’s
more often that if there is plain string there is chances of hack your system
by Hackers. It will be tough for them to
crack it if the password is looking like weird charter symbols.
e.g. If you store the password “test1234” to database and it
will store like;
g+yC22ZOR8iB5gdYvhkZcQ==
Sharing you the simple method which is using the MD5 algorithm to encrypt the
password and any provided string. MD5CryptoServiceProvider class return
the hash as an array of 16 bytes.
Example computes the MD5 hash value of a string and returns the hash value in hexadecimal-formatted string.
Example computes the MD5 hash value of a string and returns the hash value in hexadecimal-formatted string.
MD5 is the base class and it's abstract which is
using by MD5CryptoServiceProvider .
public sealed class MD5CryptoServiceProvider : MD5
You need to import the two namespace for implementing the
below code;
using System.Security.Cryptography;
using System.Text;
And there usingine TripleDESCryptoServiceProvider which
is using the triple des algorithm.
TripleDESCryptoServiceProvider class is used to encrypt/ decrypt keys
which in turn uses 3DES (Triple Data Encryption Standard) algorithm.
public sealed class TripleDESCryptoServiceProvider : TripleDES
You need to define the
passphrase which will be any string as like below;
const string passphrase = "userpassword";
C# code snippet;
public partial class encryptPassword : System.Web.UI.Page
{
const string passphrase = "userpassword";
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnEncrypt_Click(object sender, EventArgs e)
{
string encrypt = encryptPassword.EncryptPassword(txtEncypt.Text);
lblEncrypted.Text = encrypt;
lblPlain.Text =
DecryptPassword(encrypt);
}
/// <summary>
/// code for encrypt the password;
/// </summary>
/// <param name="Message"></param>
/// <returns></returns>
public static string EncryptPassword(string Message)
{
byte[] encryptResults;
UTF8Encoding UTF8 = new UTF8Encoding();
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();
byte[] TDESKey =
HashProvider.ComputeHash(UTF8.GetBytes(passphrase));
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
byte[] DataToEncrypt = UTF8.GetBytes(Message); /// it will encrypt your message
try
{
ICryptoTransform Encryptor = TDESAlgorithm.CreateEncryptor();
encryptResults =
Encryptor.TransformFinalBlock(DataToEncrypt, 0, DataToEncrypt.Length);
}
finally
{
TDESAlgorithm.Clear();
HashProvider.Clear();
}
return Convert.ToBase64String(encryptResults);
}
/// <summary>
/// Code for Decrypt the password
/// </summary>
/// <param
name="Message"></param>
/// <returns></returns>
public static string DecryptPassword(string Message)
{
byte[] Results;
UTF8Encoding UTF8 = new UTF8Encoding();
MD5CryptoServiceProvider HashProvider = new MD5CryptoServiceProvider();
byte[] TDESKey =
HashProvider.ComputeHash(UTF8.GetBytes(passphrase));
TripleDESCryptoServiceProvider TDESAlgorithm = new TripleDESCryptoServiceProvider();
TDESAlgorithm.Key = TDESKey;
TDESAlgorithm.Mode = CipherMode.ECB;
TDESAlgorithm.Padding = PaddingMode.PKCS7;
byte[] DataToDecrypt = Convert.FromBase64String(Message); /// it will dycrpt your message
try
{
ICryptoTransform Decryptor = TDESAlgorithm.CreateDecryptor();
Results =
Decryptor.TransformFinalBlock(DataToDecrypt, 0, DataToDecrypt.Length);
}
finally
{
TDESAlgorithm.Clear();
HashProvider.Clear();
}
return UTF8.GetString(Results);
}
}
}
Code Snippet for asp
<head runat="server">
<title></title>
<style type="text/css">
.border {
float: left;
width: 300px;
margin: 10px;
padding: 10px;
border: 1px solid #ccc;
}
h2 {
margin-left: 5px;
}
.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}
.clearfix {
display: inline-block;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<div class="clearfix">
<h2>Encryption Example</h2>
<div style="float: left; width: 340px;">
<div class="border">
<h3>Password To Encrypt</h3>
<p>
<asp:TextBox ID="txtEncypt" runat="server" Width="248px"></asp:TextBox>
</p>
<p>
<asp:Button ID="btnEncrypt" runat="server" Text="Submit" OnClick="btnEncrypt_Click"></asp:Button>
</p>
</div>
</div>
<div class="border">
<h3>encrypted</h3>
<p>
<asp:Label ID="lblEncrypted" runat="server" />
</p>
<h3>Plain</h3>
<p>
<asp:Label ID="lblPlain" runat="server" />
</p>
</div>
</div>
</div>
</form>
</body>
You can see the UI as like
below;
Enter the password on text character and click on the button
it will convert to the encrypted text and plain text;
Thank you!After a long time i have experienced such kind of extraordinary article.
ReplyDeletePython Training in Chennai
Python Training Institute in Chennai
JAVA Training in Chennai
Big data training in chennai
Selenium Training in Chennai
IOS Training in Chennai
Python Training in Chennai
Python Course in Chennai