Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C# (http://www.go4expert.com/articles/c-sharp-tutorials/)
-   -   Simple Encryption/Decryption using C# (http://www.go4expert.com/articles/simple-encryption-decryption-using-c-t18259/)

naimish 30Jun2009 08:03

Simple Encryption/Decryption using C#
 
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;   
        }   
    }   
}


SaswatPadhi 30Jun2009 08:26

Re: Simple Encryption/Decryption using C#
 
What do you want ?? Did you want to post an article ?
'cuz it doesn't look like you have a query.

naimish 30Jun2009 08:29

Re: Simple Encryption/Decryption using C#
 
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 30Jun2009 08:33

Re: Simple Encryption/Decryption using C#
 
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 30Jun2009 08:35

Re: Simple Encryption/Decryption using C#
 
Ohh, got it now, I have clicked on Post New Thread by mistakely :) Thanks for your clarification.

shabbir 30Jun2009 09:47

Re: Simple Encryption/Decryption using C#
 
Moved to Articles for you as of now.

naimish 30Jun2009 14:43

Re: Simple Encryption/Decryption using C#
 
Thank you very much Shabbir, could you also accept my invitation :) LinkedIn.

shabbir 2Jul2009 11:20

Re: Simple Encryption/Decryption using C#
 
Nomination for article of the month - Jun 2009 Started. Nominate this article for Article of the month - Jun 2009

naimish 2Jul2009 11:25

Re: Simple Encryption/Decryption using C#
 
Ohh, Thanks Shabbir :)

satyedra pal 27May2010 14:31

Re: Simple Encryption/Decryption using C#
 
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


All times are GMT +5.5. The time now is 15:17.