Simple Encryption/Decryption using C#

naimish's Avatar author of Simple Encryption/Decryption using C#
This is an article on Simple Encryption/Decryption using C# in C#.
Rated 5.00 By 2 users
Encryption/Decryption file, string etc using C#

Code: CSharp
using System;   
using System.Collections.Generic;   
using System.Text;   
using System.Security.Cryptography;   
using System.IO;   
 
namespace BHI.Rats   
{   
    /// <summary>   
    /// RatsEncryptionManager is responsible for encrypting and decrypting the files.   
    /// </summary>   
    public static class  RatsEncryptionManager   
    {   
        private const string passKey = "c0ntr0l1";   
 
        /// <summary>   
        /// Decrypts the input file (strInputFileName) and creates a new decrypted file (strOutputFileName)   
        /// </summary>   
        /// <param name="strInputFileName">input file name</param>   
        /// <param name="strOutputFileName">output file name</param>   
        public static void DecryptFiletoFile(string strInputFileName, string strOutputFileName)   
        {   
            string strFileData = "";   
            using (FileStream inputStream = new FileStream(strInputFileName, FileMode.Open, FileAccess.Read))   
            {   
                DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();   
 
                cryptic.Key = ASCIIEncoding.ASCII.GetBytes(passKey);   
                cryptic.IV = ASCIIEncoding.ASCII.GetBytes(passKey);   
 
                CryptoStream crStream = new CryptoStream(inputStream, cryptic.CreateDecryptor(), CryptoStreamMode.Read);   
 
                StreamReader reader = new StreamReader(crStream);   
 
                strFileData = reader.ReadToEnd();   
 
                reader.Close();   
                inputStream.Close();   
            }   
 
            if (File.Exists(strOutputFileName))   
            {   
                File.Delete(strOutputFileName);   
            }   
            using (StreamWriter outputStream = new StreamWriter(strOutputFileName))   
            {   
                outputStream.Write(strFileData, 0, strFileData.Length);   
 
                outputStream.Close();   
            }   
 
        }   
        /// <summary>   
        /// Encrypts the input file(strInputFileName) and creates a new encrypted file(strOutputFileName)   
        /// </summary>   
        /// <param name="strInputFileName">input file name</param>   
        /// <param name="strOutputFileName">output file name</param>   
        public static void EncryptFiletoFile(string strInputFileName, string strOutputFileName)   
        {   
            byte[] fileBuffer;   
 
            using (FileStream inputStream = new FileStream(strInputFileName, FileMode.Open, FileAccess.Read))   
            {   
                fileBuffer = new byte[inputStream.Length];   
 
                inputStream.Read(fileBuffer, 0, fileBuffer.GetLength(0));   
 
 
                inputStream.Close();   
            }   
            if (File.Exists(strOutputFileName))   
            {   
                File.Delete(strOutputFileName);   
            }   
            using (FileStream outputStream = new FileStream(strOutputFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))   
            {   
                DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();   
 
                cryptic.Key = ASCIIEncoding.ASCII.GetBytes(passKey);   
                cryptic.IV = ASCIIEncoding.ASCII.GetBytes(passKey);   
 
                CryptoStream crStream = new CryptoStream(outputStream, cryptic.CreateEncryptor(), CryptoStreamMode.Write);   
 
                crStream.Write(fileBuffer, 0, fileBuffer.Length);   
 
                crStream.Close();   
            }   
        }   
        /// <summary>   
        /// Encrypts the input string and creates a new encrypted file(strOutputFileName)   
        /// </summary>   
        /// <param name="strInputString">input string name</param>   
        /// <param name="strOutputFileName">output file name</param>   
        public static void EncryptStringtoFile(string strInputString, string strOutputFileName)   
        {   
            if (File.Exists(strOutputFileName))   
            {   
                File.Delete(strOutputFileName);   
            }   
            using (FileStream outputStream = new FileStream(strOutputFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))   
            {   
                DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();   
 
                cryptic.Key = ASCIIEncoding.ASCII.GetBytes(passKey);   
                cryptic.IV = ASCIIEncoding.ASCII.GetBytes(passKey);   
 
                CryptoStream crStream = new CryptoStream(outputStream, cryptic.CreateEncryptor(), CryptoStreamMode.Write);   
 
                byte[] buffer = ASCIIEncoding.ASCII.GetBytes(strInputString);   
 
                crStream.Write(buffer, 0, buffer.Length);   
 
                crStream.Close();   
            }   
        }   
        /// <summary>   
        /// Decrypts the input file (strInputFileName) and creates a new decrypted file (strOutputFileName)   
        /// </summary>   
        /// <param name="strInputFileName">input file name</param>   
        public static string DecryptFiletoString(string strInputFileName)   
        {   
            string strFileData = "";   
            using (FileStream inputStream = new FileStream(strInputFileName, FileMode.Open, FileAccess.Read))   
            {   
                DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();   
 
                cryptic.Key = ASCIIEncoding.ASCII.GetBytes(passKey);   
                cryptic.IV = ASCIIEncoding.ASCII.GetBytes(passKey);   
 
                CryptoStream crStream = new CryptoStream(inputStream, cryptic.CreateDecryptor(), CryptoStreamMode.Read);   
 
                StreamReader reader = new StreamReader(crStream);   
 
                strFileData = reader.ReadToEnd();   
 
                reader.Close();   
                inputStream.Close();   
            }   
 
            return strFileData;   
        }   
    }   
}
night.rider like this
SaswatPadhi's Avatar, Join Date: May 2009
~ Б0ЯИ Τ0 С0δЭ ~
What do you want ?? Did you want to post an article ?
'cuz it doesn't look like you have a query.
naimish's Avatar
Banned
Actually this is a solution to the given problem, I cud have write an article, but I don't know how can I, so posted it here

Any idea hw can I start article here ?
SaswatPadhi's Avatar, Join Date: May 2009
~ Б0ЯИ Τ0 С0δЭ ~
Near the top of the page, you can see "My Go4Expert", "G4EF Links" etc...

Click on "G4EF Links" and select "Articles and Tutorials". Then appropriate go to the sub-forum under which the article should be posted (for this one, it's Programming -> C#).
Then click on "Submit new article" near the top of the page.

Write your article and hit post.

AND, PLEASE POST YOUR CODE INSIDE CODE-BLOCKS. I did it for you in your first post in this thread.
naimish's Avatar
Banned
Ohh, got it now, I have clicked on Post New Thread by mistakely Thanks for your clarification.
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Moved to Articles for you as of now.
naimish's Avatar
Banned
Thank you very much Shabbir, could you also accept my invitation LinkedIn.
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Nomination for article of the month - Jun 2009 Started. Nominate this article for Article of the month - Jun 2009
naimish's Avatar
Banned
Ohh, Thanks Shabbir
satyedra pal's Avatar, Join Date: Mar 2010
Contributor
Encryption and decryption is used in cryptography.The Mean of cryptography is secret writing.Encryption is used to encrypt(convert) the data or file in a secure or pseudo format by sender. Receiver receive it and decrypt it by using a key suggested by sender