Description:-
In this example we
explain that how to encrypt and Decrypt XML file in asp.net with C#.in previous we already explain that how to Encrypt
and Decrypt Password when user is register to website then it's password are
sstored in sqlserver database in Encrypt format and when user is login to
website then it will fetch the Encrypt password from the database and Decrypt
it and match with user enter password.so this is simple thing but now in this
example we will explain how to Encrypt and Decrypt whole XML file in asp.net.
The main advantages to Encrypt and Decrypt XML file is that even user can not seen data in XML file because data are stored in Encrypt format so it can not be raed by any user. When any operation is performed in XML file then it will first Decrypt XML file and then perform operation. So this is the best facility for any application for better security.
The main advantages to Encrypt and Decrypt XML file is that even user can not seen data in XML file because data are stored in Encrypt format so it can not be raed by any user. When any operation is performed in XML file then it will first Decrypt XML file and then perform operation. So this is the best facility for any application for better security.
Bind data in Accordion Control from database bind Dynamic data in Accordion Control
inner zoom effect of image bind into gridview from database Display Inner zoom Effect of the image in Gridview
<%@
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 id="Head1" runat="server">
<title>How to
Encrypt and Decrypt XML file in asp.Net
</title>
</head>
<body>
<form id="form1" runat="server">
<asp:FileUpload ID="flupld_xmlfile"
runat="server"
/>
<hr />
<asp:Button ID = "btnEncrypt" Text="Encrypt File" runat="server"
OnClick = "EncryptFile"
style="height: 26px" />
<asp:Button ID = "btnDecrypt" Text="Decrypt File" runat="server" OnClick
= "DecryptFile"
/>
</form>
</body>
</html>
Default2.aspx.cs:-
using System;
using System.Data;
using
System.Configuration;
using System.Web;
using
System.Web.Security;
using System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using System.IO;
using
System.Security.Cryptography;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object
sender, EventArgs e)
{
}
protected void EncryptFile(object
sender, EventArgs e)
{
//Get the
Input File Name and Extension.
string
fileName = Path.GetFileNameWithoutExtension(flupld_xmlfile.PostedFile.FileName);
string
fileExtension = Path.GetExtension(flupld_xmlfile.PostedFile.FileName);
//Build the
File Path for the original (input) and the encrypted (output) file.
string
input = Server.MapPath("~/Files/")
+ fileName + fileExtension;
string
output = Server.MapPath("~/Files/")
+ fileName + "_enc" +
fileExtension;
//Save the
Input File, Encrypt it and save the encrypted file in output path.
flupld_xmlfile.SaveAs(input);
this.Encrypt(input,
output);
//Download
the Encrypted File.
Response.ContentType =
flupld_xmlfile.PostedFile.ContentType;
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(output));
Response.WriteFile(output);
Response.Flush();
//Delete the
original (input) and the encrypted (output) file.
File.Delete(input);
File.Delete(output);
Response.End();
}
private void Encrypt(string
inputFilePath, string outputfilePath)
{
string
EncryptionKey = "MAKV2SPBNI99212";
using (Aes encryptor = Aes.Create())
{
Rfc2898DeriveBytes
pdb = new Rfc2898DeriveBytes(EncryptionKey,
new byte[] {
0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76
});
encryptor.Key = pdb.GetBytes(32);
encryptor.IV = pdb.GetBytes(16);
using
(FileStream fsOutput = new FileStream(outputfilePath,
FileMode.Create))
{
using
(CryptoStream cs = new
CryptoStream(fsOutput,
encryptor.CreateEncryptor(), CryptoStreamMode.Write))
{
using
(FileStream fsInput = new FileStream(inputFilePath,
FileMode.Open))
{
int data;
while ((data = fsInput.ReadByte()) != -1)
{
cs.WriteByte((byte)data);
}
}
}
}
}
}
protected void DecryptFile(object
sender, EventArgs e)
{
//Get the
Input File Name and Extension
string
fileName = Path.GetFileNameWithoutExtension(flupld_xmlfile.PostedFile.FileName);
string fileExtension = Path.GetExtension(flupld_xmlfile.PostedFile.FileName);
//Build the
File Path for the original (input) and the decrypted (output) file
string
input = Server.MapPath("~/Files/")
+ fileName + fileExtension;
string
output = Server.MapPath("~/Files/")
+ fileName + "_dec" +
fileExtension;
//Save the
Input File, Decrypt it and save the decrypted file in output path.
flupld_xmlfile.SaveAs(input);
this.Decrypt(input,
output);
//Download
the Decrypted File.
Response.Clear();
Response.ContentType =
flupld_xmlfile.PostedFile.ContentType;
Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(output));
Response.WriteFile(output);
Response.Flush();
//Delete the
original (input) and the decrypted (output) file.
File.Delete(input);
File.Delete(output);
Response.End();
}
private void Decrypt(string
inputFilePath, string outputfilePath)
{
string
EncryptionKey = "MAKV2SPBNI99212";
using (Aes encryptor = Aes.Create())
{
Rfc2898DeriveBytes
pdb = new Rfc2898DeriveBytes(EncryptionKey,
new byte[] {
0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76
});
encryptor.Key = pdb.GetBytes(32);
encryptor.IV = pdb.GetBytes(16);
using
(FileStream fsInput = new FileStream(inputFilePath,
FileMode.Open))
{
using (CryptoStream cs = new
CryptoStream(fsInput,
encryptor.CreateDecryptor(), CryptoStreamMode.Read))
{
using
(FileStream fsOutput = new FileStream(outputfilePath,
FileMode.Create))
{
int data;
while ((data = cs.ReadByte()) != -1)
{
fsOutput.WriteByte((byte)data);
}
}
}
}
}
}
}
0 comments:
Post a Comment